DSP无刷直流电动机驱动控制程序(5)

2019-02-21 00:55

EvbRegs.EVBIMRB.all=0X0000; // T4中断不使能 EvbRegs.EVBIFRB.all=0X0FFFF; }

// 清中断标志位

/////////////////////////////////////////////////////////////////////// // DSP28_Ev.c结束

///////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////// // 文件名:

DSP28_Sci.c

// 意义: DSP28 SCI 初始化

////////////////////////////////////////////////////////////////////////

#include \

unsigned int * UART_MODE = (unsigned int *) 0x4010;

void InitSci(void) {

// Initialize SCI-A: *UART_MODE = 0x44;

EALLOW;

GpioMuxRegs.GPFMUX.all = 0x0030; EDIS;

SciaRegs.SCICCR.all = 0x07; //8位,无校验

SciaRegs.SCICTL1.all = 0x03; //软件复位 发送接收使能 SciaRegs.SCIHBAUD = 0x01; //波特率9600B/S SciaRegs.SCILBAUD = 0x0E7;

SciaRegs.SCICTL1.all = 0x23; //清除软件复位 发送接收使能 }

//发送准备好

int SciaTx_Ready(void) {

unsigned int i;

if(SciaRegs.SCICTL2.bit.TXRDY == 1) { } else { }

return(i); }

i = 0; i = 1;

//接收准备好

int SciaRx_Ready(void) {

unsigned int i;

if(SciaRegs.SCIRXST.bit.RXRDY == 1) { } else { }

return(i); }

///////////////////////////////////////////////////////////////////////// //DSP28_Sci.c结束

/////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////////

// 文件名:

DSP28_SysCtrl.c

i = 0; i = 1;

// 意义: DSP28 系统控制寄存器初始化

//////////////////////////////////////////////////////////////////////////// #include \

void InitSysCtrl(void) {

Uint16 i; EALLOW;

DevEmuRegs.M0RAMDFT = 0x0300; DevEmuRegs.M1RAMDFT = 0x0300; DevEmuRegs.L0RAMDFT = 0x0300; DevEmuRegs.L1RAMDFT = 0x0300;

DevEmuRegs.H0RAMDFT = 0x0300; // Disable watchdog module SysCtrlRegs.WDCR= 0x0068; // Initalize PLL

SysCtrlRegs.PLLCR = 0xA; //CLKIN=150M // Wait for PLL to lock

for(i= 0; i< 5000; i++){}

// HISPCP/LOSPCP prescale register settings, normally it will be set to default values

SysCtrlRegs.HISPCP.all = 0x0001; //高速时钟75M

SysCtrlRegs.LOSPCP.all = 0x0002; //低速时钟37.5M

// Peripheral clock enables set for the selected peripherals. SysCtrlRegs.PCLKCR.bit.EVAENCLK=1; //使能EVA SysCtrlRegs.PCLKCR.bit.EVBENCLK=1; //使能EVB SysCtrlRegs.PCLKCR.bit.SCIENCLKA=1;//使能SCI SysCtrlRegs.PCLKCR.bit.ADCENCLK=1; //使能ADC }

///////////////////////////////////////////////////////////////////////// //DSP28_SysCtrl.c结束

/////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////// // 文件: DSP28_PieCtrl.c

// 意义: DSP28 PIE 控制寄存器初始化

///////////////////////////////////////////////////////////////////////// #include \

void InitPieCtrl(void) {

// Disable PIE:

PieCtrl.PIECRTL.bit.ENPIE = 0; // Clear all PIEIER registers: PieCtrl.PIEIER1.all = 0; PieCtrl.PIEIER2.all = 0; PieCtrl.PIEIER3.all = 0; PieCtrl.PIEIER4.all = 0; PieCtrl.PIEIER5.all = 0; PieCtrl.PIEIER6.all = 0; PieCtrl.PIEIER7.all = 0; PieCtrl.PIEIER8.all = 0; PieCtrl.PIEIER9.all = 0; PieCtrl.PIEIER10.all= 0; PieCtrl.PIEIER11.all= 0; PieCtrl.PIEIER12.all= 0; // Clear all PIEIFR registers: PieCtrl.PIEIFR1.all = 0; PieCtrl.PIEIFR2.all = 0; PieCtrl.PIEIFR3.all = 0; PieCtrl.PIEIFR4.all = 0; PieCtrl.PIEIFR5.all = 0; PieCtrl.PIEIFR6.all = 0; PieCtrl.PIEIFR7.all = 0; PieCtrl.PIEIFR8.all = 0; PieCtrl.PIEIFR9.all = 0;

PieCtrl.PIEIFR10.all= 0; PieCtrl.PIEIFR11.all= 0; PieCtrl.PIEIFR12.all= 0; // Enable PIE:

PieCtrl.PIECRTL.bit.ENPIE = 1; PieCtrl.PIEACK.all = 0xFFFF; }

///////////////////////////////////////////////////////////////////////// //DSP28_PieCtrl.c结束

/////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////// // 文件名:

DSP28_PieVect.c

// 意义: DSP28 PIE 向量表初始化

//////////////////////////////////////////////////////////////////////////// #include \

const struct PIE_VECT_TABLE PieVectTableInit = {

PIE_RESERVED, // Reserved space PIE_RESERVED, PIE_RESERVED, PIE_RESERVED, PIE_RESERVED, PIE_RESERVED, PIE_RESERVED, PIE_RESERVED, PIE_RESERVED, PIE_RESERVED, PIE_RESERVED, PIE_RESERVED, PIE_RESERVED,

// Non-Peripheral Interrupts

INT13_ISR, // XINT13 or CPU-Timer 1 INT14_ISR, // CPU-Timer2

DATALOG_ISR, // Datalogging interrupt RTOSINT_ISR, // RTOS interrupt EMUINT_ISR, // Emulation interrupt NMI_ISR, // Non-maskable interrupt ILLEGAL_ISR, // Illegal operation TRAP USER0_ISR, // User Defined trap 0 USER1_ISR, // User Defined trap 1 USER2_ISR, // User Defined trap 2 USER3_ISR, // User Defined trap 3

USER4_ISR, // User Defined trap 4 USER5_ISR, // User Defined trap 5 USER6_ISR, // User Defined trap 6 USER7_ISR, // User Defined trap 7 USER8_ISR, // User Defined trap 8 USER9_ISR, // User Defined trap 9 USER10_ISR, // User Defined trap 10 USER11_ISR, // User Defined trap 11 // Group 1 PIE Vectors PDPINTA_ISR, // EV-A PDPINTB_ISR, // EV-B rsvd_ISR, XINT1_ISR, XINT2_ISR,

ADCINT_ISR, // ADC TINT0_ISR, // Timer 0 WAKEINT_ISR, // WD // Group 2 PIE Vectors CMP1INT_ISR, // EV-A CMP2INT_ISR, // EV-A CMP3INT_ISR, // EV-A T1PINT_ISR, // EV-A T1CINT_ISR, // EV-A T1UFINT_ISR, // EV-A T1OFINT_ISR, // EV-A rsvd_ISR,

// Group 3 PIE Vectors T2PINT_ISR, // EV-A T2CINT_ISR, // EV-A T2UFINT_ISR, // EV-A T2OFINT_ISR, // EV-A CAPINT1_ISR, // EV-A CAPINT2_ISR, // EV-A CAPINT3_ISR, // EV-A rsvd_ISR,

// Group 4 PIE Vectors CMP4INT_ISR, // EV-B CMP5INT_ISR, // EV-B CMP6INT_ISR, // EV-B T3PINT_ISR, // EV-B T3CINT_ISR, // EV-B T3UFINT_ISR, // EV-B T3OFINT_ISR, // EV-B rsvd_ISR,


DSP无刷直流电动机驱动控制程序(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:浅析需量计费与容量计费对企业电费的影响

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: