• 大小: 614KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-14
  • 语言: C/C++
  • 标签: DSP  SVPWM  C语言  2812  

资源简介

很难找到的基于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 < number;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个文件信息

评论

共有 条评论