HAL_UART_Transmit()函数用法

avatar
作者
筋斗云
阅读量:0

HAL_UART_Transmit函数用法

HAL_UART_Transmit()是 HAL 库中的一个函数,用于向指定的串口发送数据。它的函数原型如下:

HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart,  const uint8_t *pData, uint16_t Size, uint32_t Timeout) 

其中各参数的含义如下:
huart: 串口号,可以为huart1,huart2等。
pData: 要发送的数据缓冲区指针。
Size: 要发送的数据长度。
Timeout: 发送超时时间,单位为毫秒。

(这里需要注意一下timeout 虽然单位为ms,也不要配置的数太小,我曾经设置波特率为19200,超时时间为1,可使用串口通信配置寄存器怎么都不起效果,改了超时为100就好了,按19200的波特率计算1ms的时间可以发送完成,却提示超时,原本以为是把所有数据长度的数据全部发送完的超时时间呢,研究代码发现是发送一个数据的时间。)

函数返回值为 HAL_StatusTypeDef 类型,表示函数执行状态。如果返回值为 HAL_OK,则表示发送成功:如果返回值为HAL_TIMEOUT,则表示发送超时。

//可以通过状态来判断是否发送成功 	if(HAL_OK!=(HAL_UART_Transmit(&huart2,data, len,100))) 	{ 		HAL_GPIO_TogglePin(GPIOC, LED_Pin);				 	} 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!