主题中讨论的其他器件:C2000WARE
尊敬的专家:
我正在尝试初始化计时器和系统初始化。 我使 GPIO 开启和关闭了。 但是、我无法使用计时器和中断完成相同的任务、但是没有出现错误。 请参阅随附代码中的问题。 除此之外、我想知道此程序是否在200MHz 上已将微控制器注释掉。
#include "F28x_Project.h" interrupt void timer_ovf_isr(void); extern void InitSysCtrl(void); void TimerInit(); void GpioInit(); int a =0; void main(void) { InitSysCtrl(); TimerInit(); GpioInit(); DINT; InitPieCtrl(); InitPieVectTable(); EALLOW; EALLOW; PieVectTable.TIMER0_INT = &timer_ovf_isr; EDIS; PieCtrlRegs.PIEIER1.bit.INTx7 = 1; PieCtrlRegs.PIECTRL.bit.ENPIE = 1; IER |= 0x0001; EINT; // Enable Global interrupt INTM ERTM; // Enable Global realtime interrupt DBGM CpuTimer0Regs.TCR.bit.TSS = 0; while(1) { //idle } } void GpioInit(void) { GpioCtrlRegs.GPAGMUX1.bit.GPIO13 = 0; GpioCtrlRegs.GPADIR.bit.GPIO13 = 1; GpioCtrlRegs.GPADIR.bit.GPIO12 = 1; } void TimerInit(void) { CpuTimer0Regs.PRD.bit.LSW = 0x02FF; CpuTimer0Regs.PRD.bit.MSW = 0x002F; CpuTimer0Regs.TPR.bit.TDDR = 0x001F; CpuTimer0Regs.TCR.bit.TIE = 1; CpuTimer0Regs.TCR.bit.TRB = 0; CpuTimer0Regs.TCR.bit.TSS = 1; CpuTimer0Regs.TCR.bit.FREE = 0; } void timer_ovf_isr(void) { GpioDataRegs.GPATOGGLE.bit.GPIO13 = 1; GpioDataRegs.GPATOGGLE.bit.GPIO12 = 1; CpuTimer0Regs.TCR.bit.TIF = 1; PieCtrlRegs.PIEIFR1.bit.INTx7 = 0; PieCtrlRegs.PIEACK.all = 0x0001; }