最近用stm32 做了 个小东西, 需要串口发送数据.
用代码发送数据的时候怎么都不行
if(HAL_UART_Transmit(USART2,txbuf,sizeof(txbuf),0xffff) != HAL_OK)
{
int a=0;
a = a+1;
// Error_Handler();
}
这样写,的时候 huart->gState 一直是 HAL_UART_STATE_RESET状态.好像是没启动. 或者没初始化.
后来感觉 USART2 好像不对.于是改成
if(HAL_UART_Transmit(&huart2,txbuf,sizeof(txbuf),0xffff) != HAL_OK)
{
int a=0;
a = a+1;
// Error_Handler();
}
huart->gState 状态变成 HAL_UART_STATE_READY 了,
区别在第一个参数的形式.具体我说不清楚了 . 对C语言不是很了解…
本文详细记录了一位开发者在使用STM32进行串口数据发送时遇到的问题及解决方案。初始尝试中,使用HAL_UART_Transmit函数时参数不当导致发送失败,通过调整参数形式,最终成功实现数据发送,解决了huart->gState状态问题。
797

被折叠的 条评论
为什么被折叠?



