|
自己在别人的程序框架上改写了一个CPU中断程序,但中断始终无法进入,求指导,谢谢!(F2812的芯片)
主要代码如下:
//主程序
#include"DSP28_Device.h"
void main(void)
{
InitSysCtrl();
DINT;
IER=0x0000;
IFR=0x0000;
InitPieCtrl();
InitPieVectTable();
InitPeripherals();
InitGpio();
PieCtrl.PIEIER1.bit.INTx7=1; //允许Timer0中断
IER|=M_INT1; //M_INT1定义为0x0001;
EINT;
ERTM;
ConfigCpuTimer(&CpuTimer0,150,1000000);//定时一秒
StartCpuTimer0();
for(;;)
{
}
}
//Gpio.c文件
#include "DSP28_Device.h"
void InitGpio(void)
{
EALLOW;
GpioMuxRegs.GPAMUX.bit.PWM1_GPIOA0=0; //GPIO口为通用IO口
GpioMuxRegs.GPADIR.bit.GPIOA0=1; //输出口
GpioDataRegs.GPASET.bit.GPIOA0=1;
EDIS;
}
//中断执行文件
#include "DSP28_Device.h"
interrupt void TINT0_ISR(void) // CPU-Timer0中断函数,GPIOA0口接LED灯的阴极,使得灯每隔一秒闪一次
{
CpuTimer0.InterruptCount++;
if(CpuTimer0.InterruptCount==1)
{
GpioDataRegs.GPACLEAR.bit.GPIOA0=1;
}
if(CpuTimer0.InterruptCount==2)
{
GpioDataRegs.GPASET.bit.GPIOA0=1;
CpuTimer0.InterruptCount=0;
}
CpuTimer0Regs.TCR.bit.TIF=1;
PieCtrl.PIEACK.bit.ACK1=1;
EINT;
}
工程文件ourdev_667814J0H6YF.rar(文件大小:231K) (原文件名:cpu_timer0.rar) |
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|