- UID
- 121419
- 性别
- 男
|
下面的程序实现1秒中断,每次进入中断程序取反PTC口,但硬件仿真时发现并无中断产生
百思不得其解,请大侠指点!!
硬件平台:飞思卡尔送的GP32仿真版,使用ICS MON08接口调试
另外,为何在LINE.PRM中无法找到中断向量表;
只找到这样的相应语句: VECTOR 0 _Startup 不知如何理解???
#include /* for EnableInterrupts macro */
#include /* include peripheral declarations */
//有关寄存器位定义
#define TSTOPBit 5 //定时器计数停止位
#define TOFBit 7 //定时器溢出标志位
//函数声明
void Timer1init(void); //定时器初始化
void main(void) {
EnableInterrupts; /* enable interrupts */
/* include your code here */
asm("SEI"); //关总中断
Timer1init(); //调定时器1初始化子程序
asm("CLI"); //开总中断
DDRC=0XFF; //PTC口定义为输出
PTC=0X00; //PTC输出低电平
for(;;) {
__RESET_WATCHDOG(); /* feeds the dog */
}
}
void Timer1init(void){
//允许溢出中断、不启动计数、分频因子=64
T1SC=0b01100110;
//计数寄存器初值=0x0000
T1CNTH=0x00; T1CNTL=0x00;
//1秒产生1次溢出中断,计数寄存器=1×(2457600/64)=OX9600
T1MODH=0x96; T1MODL=0x00;
//允许定时器1计数寄存器计数
T1SC&=~(1< |
|