1.硬件设计参考图
参考:00_YS_硬件电路图_往事不可追_来日不方长的博客-CSDN博客
2.配置LED
2.1代码部分
代码初始化部分如下图MX自动生成:
// main.h 中
/* Private defines -----------------------------------------------------------*/
#define LED_02_Pin GPIO_PIN_5
#define LED_02_GPIO_Port GPIOE
#define LED_03_Pin GPIO_PIN_6
#define LED_03_GPIO_Port GPIOE
#define LED_01_Pin GPIO_PIN_9
#define LED_01_GPIO_Port GPIOH
/* USER CODE BEGIN Private defines */
#define LED1_TOGGLE HAL_GPIO_TogglePin(LED_01_GPIO_Port, LED_01_Pin)
#define LED2_TOGGLE HAL_GPIO_TogglePin(LED_02_GPIO_Port, LED_02_Pin)
#define LED3_TOGGLE HAL_GPIO_TogglePin(LED_03_GPIO_Port, LED_03_Pin)
/* USER CODE END Private defines */
/** Configure pins as
* Analog
* Input
* Output
* EVENT_OUT
* EXTI
*/
void MX_GPIO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOE_CLK_ENABLE();
__HAL_RCC_GPIOH_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(GPIOE, LED_02_Pin|LED_03_Pin, GPIO_PIN_RESET);
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(LED_01_GPIO_Port, LED_01_Pin, GPIO_PIN_RESET);
/*Configure GPIO pins : PEPin PEPin */
GPIO_InitStruct.Pin = LED_02_Pin|LED_03_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
/*Configure GPIO pin : PtPin */
GPIO_InitStruct.Pin = LED_01_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(LED_01_GPIO_Port, &GPIO_InitStruct);
}
3.配置USART1