任务描述
实现LED0~LED7依次点亮,每次仅限一个LED发光,周期为4秒
原理图
所用器件:STM32F103R6(单片机),RX8(排阻),LED-YELLOW(黄色发光二极管)
软件设计
采用位操作法
需要插入的代码
//LEDO亮
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_7,1);HAL_GPIO_WritePin(GPIOC,GPIO_PIN_0,0);HAL_Delay(500);
//LED1亮
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_0,1);HAL_GPIO_WritePin(GPIOC,GPIO_PIN_1,0);HAL_Delay(500);
//LED2亮
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_1,1);HAL_GPIO_WritePin(GPIOC,GPIO_PIN_2,0);HAL_Delay(500);
//LED3亮
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_2,1);HAL_GPIO_WritePin(GPIOC,GPIO_PIN_3,0);HAL_Delay(500);
//LED4亮
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_3,1);HAL_GPIO_WritePin(GPIOC,GPIO_PIN_4,0);HAL_Delay(500);
//LED5亮
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_4,1);HAL_GPIO_WritePin(GPIOC,GPIO_PIN_5,0);HAL_Delay(500);
//LED6亮
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_5,1);HAL_GPIO_WritePin(GPIOC,GPIO_PIN_6,0);HAL_Delay(500);
//LED7亮
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_6,1);HAL_GPIO_WritePin(GPIOC,GPIO_PIN_7,0);HAL_Delay(500);
具体操作过程可参考:
https://blog.csdn.net/weixin_47664463/article/details/123773767?spm=1001.2014.3001.5501