一、串口传输的概念
当起始方没有数据传输时,默认:高电平
起始位:如果要开始传输数据就拉低电平作为起始信号,起始信号会占用一个位的时间,被称为起始位。
停止位:就会把电平拉高即为停止信号。停止位可以是1/2位,停止位越长,可以让传输更加稳定,但是传输速度会变慢。
波特率(bit/s)常用2400、4800、9600、19200、57600、115200等。
tx是发送信息,rx是接收信息。
二、用stm32cubemx进行串口的配置
1、选择串口。
USART 支持同步 or 异步串口
2、选择串口的模式(我选的异步)
3、进行协议的配置(波特率、数长(数据位+校验位)、校验(EVen偶校验,Odd奇校验,None无校验)、停止位个数)
4、检查GPIO口是否选择正确
5、完成project manager就生成代码即可。
三、写代码
HAL库里阻塞式发送(就是当我们的所有需要传送的数据都传输完了,这个函数才会执行结束)的函数是: HAL_UART_Transmit(&huart1,(uint8_t*)"Hello", 5,0xFFFF); HAL_Delay(1000);加到主函数里。
第一个参数是:串口号
第二个参数是:要发送的数据的首地址
第三个参数是:要发送的数据的数据长度
第四个参数是:超时时间,如果在这个时间里数据还没传输完,那么剩余的数据就不发了。
延时1000ms
写完代码后就--编译---烧录。
四、使用串口调试工具
这里我们需要USB TO TTL
下边是和stm32的接线方式
连接之后就插到电脑的usb接口上,查看设备管理器,看是否出现端口
如果没有,就下载ch340驱动(百度下载方式即可)。
成功后,就打开串口调试器,进行串口配置,然后打开串口。