任务描述
要求通过按钮控制LED灯的亮灭。
原理图(Proteus)
软件设计(STM32CubeIDE)
需要插入的代码如下:
if(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_1)==0)
{
HAL_Delay(20);
if(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_1)==0)
{
HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_0);
while(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_1)==0) ;
HAL_Delay(20);
}
}
具体操作过程可参考: https://blog.csdn.net/weixin_47664463/article/details/123773767?spm=1001.2014.3001.5501
拓展
任务描述
通过两只按钮控制一个LED的亮灭,要求两个按钮一个采用上拉输入模式,另一个采用下拉输入模式。
原理图(Proteus)
软件设计(STM32CubeIDE)
if(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_1)==0)
{
HAL_Delay(20);
if(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_1)==0)
{
HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_0);
while(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_1)==0) ;
HAL_Delay(20);
}
}
else if(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_2)==0)
{
HAL_Delay(20);
if(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_2)==1)
{
HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_0);
while(HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_2)==1) ;
HAL_Delay(20);
}
}
|