在我看来,我的定时器中断不能正常工作。问题是中断函数中的计数器只增加一次。这是我的主要和计时器设置代码。
#include <m8c.h>
#include "PSoCAPI.h"
#include <stdio.h>
#include <stdlib.h>
char theStr[] = "PSoC LCD";
static char tmp[3];
static int counter = 0;
void main(void){
LCD_Start();
LCD_Position(0,5);
LCD_PrString(theStr);
M8C_EnableGInt;
Timer8_EnableInt();
Timer8_Start();
while (1);
}
#pragma interrupt_handler myTimerInt
void myTimerInt(void){
counter ++;
LCD_Position(1,0);
itoa(tmp, counter, 10);
LCD_PrString(tmp);
}
最佳答案
大多数中断服务例程需要重新准备调用它的中断(有时称为“确认中断”)。否则,ISR 只会被调用一次。通常,这是在 ISR 的关键部分完成后完成的。
对于 503418,我认为重新启用是通过读取计数寄存器来完成的。查看this底部的代码.
关于c - PSoC 定时器中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22743142/