赞
踩
1、利用UART实现上位机PC与下位机开发板之间的数据通信
2、学会STM32CubeMX软件关于UART的配置
3、具体目标:1、实现开发板向上位机PC发送学生姓名;2、上位机发送命令控制下位机开发板LED1的亮灭。
串行通信(Serial Transmission),是指通过一根数据线或少量数据线(少于8根)将数据一位一位地按顺序依次传送。
并行通信(Parallel Transmission),是指用多条数据线同时传送多位数据,通常以8位、16位、32位等数据位传送。
同步通信是连续串行传送数据的通信方式,要求收发双方的时钟必须保持严格的同步。
特点:输速率较高
异步通信在发送的有效数据中增加一些用于同步的控制位,比如开始位和停止位等,数据以字符为单位组成数据帧进行传送,收发双方需约定数据的传输速率。
特点:1.传输效率较低;2.通信设备实现简单、成本低。
波特率:每秒传输的二进制位数,单位为比特每秒(bit/s,bps),是衡量串行数据传输速度快慢的指标。常用的串口传输速率(波特率)有9600、19200和115200等。
异步串行通信标准的数据帧由起始位、数据位、校验位、停止位四部分组成。数据传输速率为50、75、100、150、300、600、1200、2400、4800、9600、19200和38400波特。
起始位:占一位,位于数据帧的开头,以逻辑“0”表示传输数据的开始。
数据位:要发送的数据,数据长度可以是5~8位。
校验位:占一位,用于检测数据是否有效。
停止位:一帧传送结束的标志,根据实际情况定,可以是1、1.5或2位。
空闲位:数据传输完毕,用“1”表示当前线路上没有数据传输。
UART(Universal Asynchronous Receiver Transmitter,通用异步收发传输器)是一个全双工通用异步串行收/发模块,主要用于打印程序调试信息、上位机和下位机的通信以及ISP程序下载等场合。
UART至少需要两根数据线用于通信双方进行数据双向同时传输,最简单的UART接口由TxD、RxD、GND共3根线组成。其中,TxD用于发送数据,RxD用于接收数据,GND为信号地线,通过交叉连接实现两个芯片间的串口通信。
1、USART功能介绍
STM32F103大容量产品有5个串行通信接口,USART4和USART5为2个通用异步收发器,不支持同步模式,只有异步通信功能。
说明:STM32F103C6T6只有两个串口,即USART1和USART2 .
2、USART编程模式
- /* USER CODE BEGIN PV */
-
- unsigned char tem[1];
-
- /* USER CODE END PV */
- //HAL_UART_Transmit(&huart1,(uint8_t *)"Hello 王小波!\r\n", 20, 200);
- //HAL_Delay(10);
- HAL_UART_Receive(&huart1, tem, 1, 2);
-
- if (tem[0] == 1)
- {
- HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET);
- HAL_UART_Transmit(&huart1,tem, 1, 200);
-
- }
- if (tem[0] == 2)
- {
- HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET);
- HAL_UART_Transmit(&huart1,tem, 1, 200);
- }
说明:1、在做次命令控制LED时,先将传发送函数屏蔽。2、串口终端发送1,LED点亮,串口终端接收显示0X01;发送2,LED1熄灭。
1、打印显示名字信息(先调试串口发送)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。