单片机实现led呼吸灯效果 宏定义函数

    写了一个简单的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版权协议,转载请附上原文出处链接和本声明。