阅读量: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); }