看了“小蜜蜂”的教程之后,自己用一个比较简单的逻辑写了一个流水灯和跑马灯。
嵌入式新的板子,点亮led需要通过一个锁存器74HC573来实现,在该训练板上需要将PD2引脚配置为高电平(即LE端)。该电路中OE端默认为低电平,低电平有效,即数据输入允许。所以Q端输出与D端输入相反。
//跑马灯
while (1)
{
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_8); //使引脚电平翻转
HAL_Delay (500); //延时500ms
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_9);
HAL_Delay (500);
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_10);
HAL_Delay (500);
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_11);
HAL_Delay (500);
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_12);
HAL_Delay (500);
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);
HAL_Delay (500);
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_14);
HAL_Delay (500);
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_15);
HAL_Delay (500);
}
//流水灯
while (1)
{
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_8); //使引脚电平翻转
HAL_Delay (500); //延时500ms
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_8);
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_9);
HAL_Delay (500);
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_9);
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_10);
HAL_Delay (500);
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_10);
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_11);
HAL_Delay (500);
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_11);
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_12);
HAL_Delay (500);
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_12);
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);
HAL_Delay (500);
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_14);
HAL_Delay (500);
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_14);
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_15);
HAL_Delay (500);
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_15);
}
流水灯
跑马灯