|
呼吸灯,肯定很多人都写过,这里是一个简短的呼吸灯程序。
不占用定时器,不需要用延时函数,仅仅占用一点点计算资源,将它丢到loop里面即可。
需要说明的是这个不太适合高速的微处理器。 否则你将看不到呼吸灯效果,比较适合低速的AVR 51 STM8等片子使用。
uint16_t LLEDPulse;
void Func_LED_Flash(void)
{
LLEDPulse++;
uint8_t p = LLEDPulse >> 8;
if (p > 127)
p = 254-p;
p += p;
if (((uint8_t)LLEDPulse) > p)
GPIO_WriteHigh(LED_PORT,LED_PIN);
else
GPIO_WriteLow(LED_PORT,LED_PIN);
}
|
|