一、LED1.了解硬件电路LED 左端连接 VDD 高电平,右端连接我们可以控制的引脚端。当我们想要控制 LED 使其亮起只需要将 LED 右端设置低电平即可使电路导通LED 点亮,反之高电平 LED 熄灭。2.工程配置(1)配置对应的控制引脚 PD2、PC8-PC15 为 GPIO Output 功能(2)点击左侧 GPIO ,点击列表中对应的 PD2、PC5-PC15,将 GPIO output level都设置为High3.流水灯代码编写(1)介绍代码中会用到的库函数HAL_GPIO_WritePinvoid HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState) /* 功能:配置引脚电平状态 参数说明: GPIOx:端口号 GPIOA、GPIOB、GPIOC GPIO_Pin:引脚号,例如 GPIO_PIN_0, GPIO_PIN_2 PinState:要配置的电平状态,GPIO_PIN_SET 高电平、GPIO_PIN_RESET 低电平 */HAL_GPIO_TogglePinvoid HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin) /* 功能:翻转引脚电平状态 参数说明: GPIOx:端口号 GPIOA、GPIOB、GPIOC GPIO_Pin:引脚号,例如 GPIO_PIN_0, GPIO_PIN_2 */HAL_Delayvoid HAL_Delay(uint32_t Delay) /* 功能:延迟 Delay 毫秒 */(2)流水灯代码int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); /* USER CODE BEGIN 2 */ /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ uint16_t led_light = 0;//定义控制管脚序号 //定义LED灯组对应的 GPIO 控制管脚列表 uint16_t LED_List[] = {GPIO_PIN_8, GPIO_PIN_9, GPIO_PIN_10, GPIO_PIN_11 , GPIO_PIN_12, GPIO_PIN_13, GPIO_PIN_14, GPIO_PIN_15}; uint8_t num = 0;//循环变量 uint16_t count = (sizeof(LED_List)/sizeof(LED_List[0]));//计算LED list 长度 while (1) { /* USER CODE END WHILE */ led_light = LED_List[num%count]; HAL_GPIO_TogglePin(GPIOC, led_light);// 翻转对应引脚的电平状态 HAL_Delay(1000);//延时 1000 ms num++; /* USER CODE BEGIN 3 */ } /* USER CODE END 3 */ }注释:如果想要让8个灯的状态循环被翻转:让num%8二、按键1.了解硬件电路B0、B1、B2、A0按键按下是低电平;默认状态高