完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
该类别下有 47 个回答。
该类别下有 44 个回答。
该类别下有 42 个回答。
该类别下有 36 个回答。
该类别下有 31 个回答。
该类别下有 30 个回答。
该类别下有 28 个回答。
该类别下有 27 个回答。
该类别下有 26 个回答。
举报
卞俱传
针对STM32G4串口发送数据不正确的问题,可以从以下方面逐步排查和解决:
USART1
APB2
USART1_TX
UART_HandleTypeDef huart1; huart1.Instance = USART1; huart1.Init.BaudRate = 115200; huart1.Init.WordLength = UART_WORDLENGTH_8B; huart1.Init.StopBits = UART_STOPBITS_1; huart1.Init.Parity = UART_PARITY_NONE; huart1.Init.Mode = UART_MODE_TX_RX; huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE; if (HAL_UART_Init(&huart1) != HAL_OK) { Error_Handler(); }
发送函数调用 使用HAL_UART_Transmit或HAL_UART_Transmit_IT/DMA时,检查返回值是否为HAL_OK。
HAL_UART_Transmit
HAL_UART_Transmit_IT
DMA
HAL_OK
uint8_t data[] = "Hello"; if (HAL_UART_Transmit(&huart1, data, sizeof(data), 1000) != HAL_OK) { // 处理发送失败 }
缓冲区与数据内容 确保发送缓冲区未被意外修改,发送长度正确(如字符串需包含终止符