首页 > 其他分享 >LED灯呼吸实现过程突然闪烁

LED灯呼吸实现过程突然闪烁

时间:2023-07-07 10:46:21浏览次数:51  
标签:传参 LED int void uint8 呼吸 delay 闪烁

出现现象:

当设置呼吸灯的效果时,发现灯慢慢的亮突然闪烁一下。

代码如下

void delay(uint8_t t)
{
  int a;
	for(a=0;a<t;a++){}
}


 		for(i=0;i<2000;i++)
		{
		 HAL_GPIO_WritePin(GPIOB,LED2_Pin,GPIO_PIN_SET);
		 delay(i);		
	   HAL_GPIO_WritePin(GPIOB,LED2_Pin,GPIO_PIN_RESET);
		 delay(2000-i);
			
		}
	
		for(i=0;i<2000;i++)
		{
		 HAL_GPIO_WritePin(GPIOB,LED2_Pin,GPIO_PIN_RESET);
		 delay(i);
	   HAL_GPIO_WritePin(GPIOB,LED2_Pin,GPIO_PIN_SET);
		 delay(2000-i);
		}

解决

void delay(uint8_t t)
{
  int a;
	for(a=0;a<t;a++){}
}
这其中参数uint8 t (最大值为255),这与后面写的参数1000,所有会出现异常现象 

将 uint8 改为uint 16

收获

函数传参,要注意传参的类型,还有注意大小。之前知道,但是实际出错了,才影响深刻

标签:传参,LED,int,void,uint8,呼吸,delay,闪烁
From: https://www.cnblogs.com/moveddown/p/17534182.html

相关文章