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,
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库DSP无刷直流电动机驱动控制程序(5)在线全文阅读。
相关推荐: