stm32f103c8t6用usart3发送为什么显示00
时间: 2024-04-25 08:19:42 浏览: 22
当STM32F103C8T6使用USART3发送数据时,显示为00可能有以下几个可能的原因:
1. 串口配置错误:请确保USART3的波特率、数据位、停止位和校验位等配置正确。如果配置错误,可能导致数据发送不正确,显示为00。
2. 数据发送错误:请检查发送的数据是否正确。如果发送的数据是0x00,那么接收端可能会将其解析为结束符或空字符,导致显示为00。
3. 电路连接问题:请检查USART3的引脚连接是否正确。确保TX引脚连接到正确的接收端,且没有短路或其他连接问题。
4. 编程错误:请检查代码中发送数据的部分是否正确。可能存在发送数据的逻辑错误或者发送函数调用错误,导致数据发送不正确。
相关问题
stm32f103c8t6的USART3串口初始化代码
以下是基于HAL库的stm32f103c8t6的USART3串口初始化代码:
```
/* 定义USART3句柄 */
UART_HandleTypeDef huart3;
/* 初始化USART3 */
void MX_USART3_UART_Init(void)
{
huart3.Instance = USART3;
huart3.Init.BaudRate = 115200;
huart3.Init.WordLength = UART_WORDLENGTH_8B;
huart3.Init.StopBits = UART_STOPBITS_1;
huart3.Init.Parity = UART_PARITY_NONE;
huart3.Init.Mode = UART_MODE_TX_RX;
huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart3.Init.OverSampling = UART_OVERSAMPLING_16;
if (HAL_UART_Init(&huart3) != HAL_OK)
{
Error_Handler();
}
}
```
在主函数中调用该函数即可完成USART3的初始化。
用标准库写stm32f103c8t6的USART3串口初始化代码
以下是基于标准库的stm32f103c8t6的USART3串口初始化代码:
```
// 定义USART3的GPIO引脚
#define USART3_TX GPIO_Pin_10
#define USART3_RX GPIO_Pin_11
// 初始化USART3
void USART3_Init(uint32_t baudrate)
{
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
// 使能USART3和GPIOB时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO | RCC_APB2Periph_USART3, ENABLE);
// 配置USART3_TX引脚为推挽输出
GPIO_InitStructure.GPIO_Pin = USART3_TX;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
// 配置USART3_RX引脚为浮空输入
GPIO_InitStructure.GPIO_Pin = USART3_RX;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
// 配置USART3
USART_InitStructure.USART_BaudRate = baudrate;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_No;
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
USART_Init(USART3, &USART_InitStructure);
// 使能USART3
USART_Cmd(USART3, ENABLE);
}
```
在主函数中调用USART3_Init函数即可完成USART3的初始化。需要注意的是,使用标准库需要在工程中添加对应的库文件,并在代码中包含相应的头文件。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)