使用timer定时器组件和interrupt 设计定时器溢出中断
1.设计Psoc原理图
整个原理图如下所示,添加要给定时器和output IO,定时器的interrupt连接一个Interrupt,并命名为timeISR
按如下图,设置Timer定时器的参数,使其溢出周期为1ms。
2.程序设计
main.c文件中代码如下
#include "project.h"
void led_negation()
{
led_Write(~led_Read());
}
uint16 timeCnt = 0;
// 定义中断函数,函数句柄为 time1_interruptHander
CY_ISR_PROTO(time1_interruptHander)
{
Timer_1_STATUS; // 没有这个只能中断一次
if(++timeCnt%200 == 0)
{
timeCnt = 0;
led_negation();
}
}
int main(void)
{
CyGlobalIntEnable; /* Enable global interrupts. */
timeISR_StartEx(time1_interruptHander);
Timer_1_Start();
led_Write(1);
for(;;)
{
/* Place your application code here. */
}
}