HAL_UART_Transmit的定义
时间: 2023-12-01 12:40:36 浏览: 174
ZE_HAL_UART.zip
以下是HAL_UART_Transmit的定义:
```c
HAL_StatusTypeDef HAL_UART_Transmit(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout);
```
该函数用于通过UART发送数据。其中,参数huart是UART句柄,pData是指向要发送数据的指针,Size是要发送的数据大小,Timeout是发送超时时间。
如果要使用DMA模式发送数据,可以使用以下函数:
```c
HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size);
```
该函数用于通过DMA方式发送数据。其中,参数huart是UART句柄,pData是指向要发送数据的指针,Size是要发送的数据大小。
需要注意的是,在每次调用HAL_UART_Transmit_DMA()之前,需要通过if((&huart1)->gState == HAL_UART_STATE_READY)判断一下是否准备好了发送。如果串口处于BUSY状态,则HAL_UART_Transmit_DMA()不会进入发送程序,直接返回HAL_BUSY,这就导致了HAL_UART_Transmit_DMA()不能连续运行。
阅读全文