資源簡介
很難找到的基于TI公司的型號為TMS320F2812的DSP控制SVPWM算法的C語言編程

代碼片段和文件信息
#include?“DSP28_Device.h“
#include “24Cxx.h“
#define ?? WriteDeviceAddress? 0xa0
#define ReadDeviceAddress? 0xa1
#define ?? SetSCL ?? GpioDataRegs.GPBDAT.bit.GPIOB13?=?1
#define ?? ClrSCL GpioDataRegs.GPBDAT.bit.GPIOB13?=?0
#define ?? SetSDA GpioDataRegs.GPBDAT.bit.GPIOB14?=?1
#define ?? ClrSDA GpioDataRegs.GPBDAT.bit.GPIOB14?=?0
#define SDAPORT GpioDataRegs.GPBDAT.bit.GPIOB14
#define SDAIN EALLOW;?GpioMuxRegs.GPBDIR.bit.GPIOB14?=?0;?EDIS
#define SDAOUT EALLOW;?GpioMuxRegs.GPBDIR.bit.GPIOB14?=?1;?EDIS ?
void?Init24Cxx(void)
{
EALLOW;
GpioMuxRegs.GPBMUX.bit.C4TRIP_GPIOB13?=0; //定義為IO口,接SCL
GpioMuxRegs.GPBDIR.bit.GPIOB13?=1;??? //方向輸出
GpioMuxRegs.GPBMUX.bit.C5TRIP_GPIOB14?=0; //定義為IO口,接SDA
GpioMuxRegs.GPBDIR.bit.GPIOB14?=1;??? //方向輸出
GpioMuxRegs.GPBQUAL.all=0x0000; //?Input?qualifier?disabled
EDIS;
}
void delay(Uint16??number)
{
Uint16??ij;
for(j?=?0;j? for(i=50;i>0;i--);
}
void IStart(void)
{
ClrSCL;
//----------------
SDAOUT;
delay(50);
SetSDA;
SetSCL;
delay(15);
ClrSDA;
delay(5);
ClrSCL;
//---------------------
delay(5);
SetSDA;
}
void IStop(void)
{
ClrSCL;
SDAOUT;
delay(50);
ClrSDA;
delay(15);
SetSCL;
delay(5);
SetSDA;
//----------------------
delay(5);
ClrSCL;
}
void IAck(void)
{
SDAOUT;
delay(50);
ClrSDA;
delay(5);
SetSCL;
delay(15);
ClrSCL;
delay(5);
SetSDA;
}
void INAck(void)
{
SDAOUT;
delay(50);
SetSDA;
SetSCL;
delay(15);
ClrSCL;
}
Uint16 TestAck(void)
{
Uint16 Temp;
ClrSCL;
delay(5);?
SDAIN;
delay(50);
SetSCL;
delay(15);
if(SDAPORT?==?1)?Temp?=?1;
else?Temp?=?0;
delay(15);
ClrSCL;
return?Temp;
}
void WriteByte(Uint16??data)
{
Uint16 i;
Uint16 Temp?=?0x8000;
data?=?data<<8;
SDAOUT;
delay(50);
for(i=8;i!=0;i--)
{
if?(Temp?&?data) SetSDA;
else ClrSDA;
SetSCL;
delay(15);
ClrSCL;
data?=?data<<1;
delay(5);
}
}
Uint16 ReadByte(void)
{
Uint16 i;
Uint16 Temp?=?0x0000;
SDAIN;
delay(50);
for?(i=8;i!=0;i--)
{
SetSCL;
delay(5);
Temp?=?Temp<<1;
if(SDAPORT?==?1)?Temp?=?Temp?|?1;
else Temp?=?Temp?|?0;
delay(15);
ClrSCL;
delay(5);
}
return?Temp;
}
Uint16 Write24Cxx(Uint16 *Wdata?Uint16 RomAddress?Uint16 number)
{
IStart();
WriteByte(WriteDeviceAddress);
if(TestAck()) return?1;
WriteByte(RomAddress);
if(TestAck()) return?1;
for(;number!=0;number--)
{
WriteByte(*Wdata);
if(TestAck()) return?1;
Wdata++;
}
IStop();
delay(10000);
return?0;
}
Uint16 Read24Cxx(Uint16??*RamAddr?Uint16 RomAddress?Uint16?number)
{
IStart();
WriteByte(WriteDeviceAddress);
if(TestAck()) return??1;
WriteByte(RomAddress);
if(TestAck()) return 1;
IStart();
WriteByte(ReadDeviceAddress);
if(TestAck()) return??1;
while(number!=1)
{
*RamAddr?=?ReadByte();
IAck();
RamAddr++;
number--;
}
*RamAddr?=?ReadByte();
INAck();
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-07-24?16:21??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\
?????目錄???????????0??2013-07-24?16:21??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\
?????文件????????3221??2008-11-21?14:34??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\24Cxx.c
?????文件?????????221??2008-11-21?14:34??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\24Cxx.h
?????文件?????????200??2008-11-21?10:47??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\24Cxx.h.bak
?????文件????????1151??2002-05-27?11:22??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\DSP28_Adc.c
?????文件????????6469??2002-05-27?11:23??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\DSP28_Adc.h
?????文件????????4197??2012-02-25?14:59??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\DSP28_CpuTimers.c
?????文件????????5211??2002-05-27?11:23??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\DSP28_CpuTimers.h
?????文件???????25207??2008-12-20?15:26??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\DSP28_DefaultIsr.c
?????文件????????4797??2002-05-27?11:23??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\DSP28_DefaultIsr.h
?????文件????????2447??2002-05-27?11:23??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\DSP28_DevEmu.h
?????文件????????4050??2008-12-20?14:43??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\DSP28_Device.h
?????文件????????1159??2002-05-27?11:20??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\DSP28_ECan.c
?????文件???????46740??2002-05-27?11:24??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\DSP28_ECan.h
?????文件????????3791??2012-03-11?16:06??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\DSP28_Ev.c
?????文件???????22259??2012-03-11?16:44??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\DSP28_Ev.h
?????文件????????1199??2002-05-27?11:24??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\DSP28_GlobalPrototypes.h
?????文件????????3026??2002-05-27?11:21??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\DSP28_GlobalVariableDefs.c
?????文件????????1922??2012-03-11?18:29??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\DSP28_Gpio.c
?????文件???????29551??2002-05-24?09:11??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\DSP28_Gpio.h
?????文件????????1929??2012-03-03?13:58??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\DSP28_InitPeripherals.c
?????文件????????1186??2002-05-27?11:21??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\DSP28_Mcbsp.c
?????文件???????34739??2002-05-27?11:24??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\DSP28_Mcbsp.h
?????文件????????2055??2002-05-27?11:21??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\DSP28_PieCtrl.c
?????文件????????5972??2002-05-27?11:24??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\DSP28_PieCtrl.h
?????文件????????5404??2002-05-27?11:21??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\DSP28_PieVect.c
?????文件????????6474??2002-05-27?11:24??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\DSP28_PieVect.h
?????文件????????3061??2012-03-11?19:19??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\DSP28_Sci.c
?????文件????????8228??2002-05-27?11:25??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\DSP28_Sci.h
?????文件????????1194??2002-05-27?11:22??DSP2812?SVPWM空間矢量控制算法?用于三相交流逆變\svpwm7seg_2812_DispCtrl_evb\DSP28_Spi.c
............此處省略47個文件信息
- 上一篇:三次樣條差值C語言程序,親測有用!
- 下一篇:VC++編寫USB接口通信程序
評論
共有 條評論