写了一个简单的LED呼吸灯效果代码,可作为C语言初学者for循环的练习,用宏定义方便调用。
四个变量可调亮灭时间,i大,灭的时间长; j大,灭得慢; m大,亮的时间长; n大,亮得慢。
用STM32F103烧录实测效果还可以,分析给大家。
/* led实现呼吸灯效果: i大,灭的时间长; j大,灭得慢; m大,亮的时间长; n大,亮得慢 */
#define LED1_Toggle() do{\
for(int i=0;i<3000;i++) \
{\
for(int j=0;j<2500;j++)\
{\
if(i>j)\
{\
HAL_GPIO_WritePin(LED_1_GPIO_Port, LED_1_Pin, GPIO_PIN_SET); \
} \
else\
{\
HAL_GPIO_WritePin(LED_1_GPIO_Port, LED_1_Pin, GPIO_PIN_RESET);\
}\
}\
}\
for(int m=0;m<2500;m++) \
{\
for(int n=0;n<2400;n++)\
{\
if(m>n)\
{\
HAL_GPIO_WritePin(LED_1_GPIO_Port, LED_1_Pin, GPIO_PIN_RESET); \
} \
else\
{\
HAL_GPIO_WritePin(LED_1_GPIO_Port, LED_1_Pin, GPIO_PIN_SET);\
}\
}\
}\
}\
while(0)版权声明:本文为weixin_59833716原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。