串口通讯方式: 串行通信和并行通信 单工、半双工、全双工
异步串行通信: 通信双方在没有同步时钟的前提下,将一个字符(包括特点的附加位),按位进行传输的通信方式。(通信双方采用同一波特率,常用9600 bps)。
波特率: 每秒钟传输的二进制位数。
STM32CubeMx的串口USART配置: 选择采用的串口,如usb通信就选择USART1,设置波特率常用9600与电脑端一致,模式采用异步通讯Asynchronous,使能NVIC。其他SYS、RRC和时钟CLOCK正常配置即可。 HAL库中串口发送的重要函数:
- 阻塞式发送函数
结构体、数据内容、字节长度、超时时间
HAL_StatusTypeDef HAL_UART_Transmit(
UART_HandleTypeDef *huart,
uint_8 *pData,
uint_16 size
uint_32 Timeout);
- 非祖塞式发送函数和对应回调函数
非阻塞式发送完后自动跳入回调函数中,不必主函数再引用,只用重写回调函数即可
HAL_StatusTypeDef HAL_UART_Transmit_IT(
UART_HandleTypeDef *huart,
uint_8 *pData,
uint_16 size);
void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart);
HAL库中串口接收的重要函数:
- 阻塞时发送函数:
HAL_StatusTypeDef HAL_UART_Receive(
UART_HandleTypeDef *huart,
uint_8 *pData,
uint_16 size
uint_32 Timeout);
- 非阻塞式接收函数:
HAL_StatusTypeDef HAL_UART_Transmit_IT(
UART_HandleTypeDef *huart,
uint_8 *pData,
uint_16 size);
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart);
CLION串口配置: Clion安装Serial Monitor插件,设置波特率和usb接口即可。
|