STM32F103C8T6-流水灯、呼吸灯
一、流水灯
1. 搭建电路
注意面包板的导通情况:

这里我们将开发板插在面包板上,3.3V 和 GND 分别通过电阻接面包板的正极、负极;LED的正极接面包板正极,负极接 GPIO 口。
2. 代码编写
因为这里使用的引脚属于不同的端口,无法使用二进制位移操作,因此我们使用两个数组标记引脚。
/* USER CODE BEGIN 2 */
uint16_t pinsA[4] = {
LED_1_Pin, LED_2_Pin, LED_3_Pin, LED_4_Pin};
uint16_t pinsB[2] = {
LED_5_Pin, LED_6_Pin};
/* USER CODE END 2 */
/* USER CODE BEGIN WHILE */
while (1)
{
for (int i = 0; i < sizeof(pinsA) / sizeof(pinsA[0]); i ++){
HAL_GPIO_WritePin(GPIOA, LED_1_Pin | LED_2_Pin | LED_3_Pin | LED_4_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOA, pinsA[i], GPIO_PIN_RESET);
HAL_Delay(1000);
}
HAL_GPIO_WritePin(GPIOA, LED_4_Pin, GPIO_PIN_SET);
for (int i = 0; i < sizeof(pinsB) / sizeof(pinsB[0]); i ++){
HAL_GPIO_WritePin(GPIOB, LED_5_Pin | LED_6_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOB, pinsB[i], GPIO_PIN_RESET);
HAL_Delay(1000)

最低0.47元/天 解锁文章
2533

被折叠的 条评论
为什么被折叠?



