使用定时器实现精准闪烁(替代CyDelay)
硬件配置:
拖放 TCPWM 组件(定时器),配置为周期触发(如1Hz)。
启用中断,连接至isr_timer。
#include "project.h"
volatile uint8_t led_toggle = 0;
CY_ISR(isr_timer_Handler)
{
led_toggle ^= 1; // 翻转状态
LED_Write(led_toggle); // 更新LED
Timer_ClearInterrupt(); // 清除中断标志
}
int main(void)
{
CyGlobalIntEnable;
isr_timer_StartEx(isr_timer_Handler); // 启动中断
Timer_Start(); // 启动定时器
for(;;) { /* 空循环,由中断处理LED */ }
}
|