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

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

    写了一个简单的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)

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/676409.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-19
下一篇2022-04-19

发表评论

登录后才能评论

评论列表(0条)

    保存