【单片机高级编程之软定时器的实现】文中介绍了软定时器的实现,本文及后面几篇将介绍其应用实例,一来帮大家扩展应用思路,二来通过不同的实例更好的了解软定时器的用法及性能。
本文介绍利用软定时器实现三路LED的快闪,慢闪,常亮,关闭,将多种控制封装成一个简单的接口,让你能放心而优雅的调用。
硬件电路:
电路采用GPIO直驱方式,当GPIO输出低LED亮,输出高LED灭。
软件实现:
1.定义三颗灯
typedef enum{
LED1=0,
LED2,
LED3,
LED_MAX,
}led_t;
2.定义四种状态
typedef enum{
LED_OFF=0x00,
LED_FLASH_SLOW=0x10,
LED_FLASH_QUICK=0x20,
LED_ON=0x30,
}ledCtrl_t;
3.灯的开关函数,根据原理图来设置相应GPIO的输出电平
static void _ledSwitch(led_t led,u8 on)
{