定义一个0.1ms 的时钟周期性调用下面C函数
/*呼吸灯程序*/
void BreathingLamp(void)
{
static uint8_t LEDTimeCount=0;
static uint8_t LEDTimeCount_Y=0;
LEDTimeCount++;
if(LEDTimeCount>100)
{
LEDTimeCount=0;
LEDTimeCount_Y++;
if(LEDTimeCount_Y>200)
LEDTimeCount_Y=0;
}
/* 每隔0.1ms 进来一次 */
if(LEDTimeCount_Y<100) /*上计数*/
{
if(LEDTimeCount<LEDTimeCount_Y)
bsp_LedOn(1);
else
bsp_LedOff(1);
}
else /*下减数*/
{
if(LEDTimeCount+100<LEDTimeCount_Y)
bsp_LedOff(1);
else
bsp_LedOn(1);
}
}
bsp_LedOn(1); /*打开LED*/
bsp_LedOff(1); /*关闭LED*/
这两个函数根据不同的MCU自行实现。