新手入门
- 积分
- 3
- 金钱
- 3
- 注册时间
- 2021-2-10
- 在线时间
- 0 小时
|
1金钱
STM32初学者,今天刚学完UART这部分内容。尝试编写代码后我发送的字符a,但是串口助手接收到的确实F1这个值。对照过很多次代码依然没有找到问题所在,求助TAT配置的PA10和PA11所在的USART3,外面用的是cp2102的一个TTL转USB小板连接电脑。
UART部分源码如下:
UART_HandleTypeDef UART_Handler;
void USART3_Init(void)
{
UART_Handler.Instance = USART3;
UART_Handler.Init.BaudRate=115200;
UART_Handler.Init.WordLength=UART_WORDLENGTH_8B;
UART_Handler.Init.StopBits=UART_STOPBITS_1;
UART_Handler.Init.HwFlowCtl=UART_HWCONTROL_NONE;
UART_Handler.Init.Parity=UART_PARITY_NONE;
UART_Handler.Init.Mode=UART_MODE_TX_RX;
//UART_Handler.Init.OverSampling=UART_OVERSAMPLING_16;
HAL_UART_Init(&UART_Handler);
}
void HAL_UART_MspInit(UART_HandleTypeDef *huart)
{
GPIO_InitTypeDef USART3_Structure;
if(huart->Instance == USART3)
{
__HAL_RCC_GPIOB_CLK_ENABLE();
__HAL_RCC_USART3_CLK_ENABLE();
USART3_Structure.Mode = GPIO_MODE_AF_PP;
USART3_Structure.Pin = GPIO_PIN_10 | GPIO_PIN_11;
USART3_Structure.Pull = GPIO_PULLUP;
USART3_Structure.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
USART3_Structure.Alternate = GPIO_AF7_USART3;
HAL_GPIO_Init(GPIOB,&USART3_Structure);
}
}
void UART_TX()
{
u8 buff[]="a";
HAL_UART_Transmit(&UART_Handler,buff,sizeof(buff),1000);
}
接收结果如图:

|
|