完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 hejecu 于 2018-11-11 15:51 编辑 第十一章 串口通信实验 11.1 实验目的 通过本实验的学习,掌握STM32的串口使用,实现通过串口发送和接收数据。数据手册请参看第26章。 11.2 实验简介 串口通讯(Serial Communication)是一种设备间很常用的串行通讯方式,串 口按位(bit)发送和接收字节,尽管比按字节(byte)的并行通信慢,但是串口 可以在使用一根线发送数据的同时用另一根线接收数据。大部分电子设备都支持 该通讯设备,作为计算机与单片机交互数据的主要接口,广泛用于各类仪器仪表、 工业检测以及自动控制领域。通信协议是需要通信的双方所达成的一种约定,它 对包括数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题作出统一规定,通信双方都必须共同遵守。 串口通讯我们一般分为物理层和协议层。物理层规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。协议层主要规定通讯逻辑,统一收发双方的数据打包、解包标准。 物理层:就是最底层的电平信号传输,大家熟知的RS232、RS485这些芯片,就是实现的物理层的电平转换,将单片机的TTL电平,转换成相应的接口电平。 星光的闪电F407开发板,板载了一个USB转串口芯片,将TTL信号转换成USB接口的差分信号,这也算是一种物理层芯片。 关于RS232和RS485,会在后面的实验中介绍介绍。 串口通信分为单工、半双工、全双工三种,取决于物理层的收发器芯片: Ø 单工:只能由一方A传到另一方B。 Ø 半双工:可以双向传输,但不能同时存在。 Ø 全双工:可以同时存在双向传输。 协议层:串口传输一个字符的格式分为起始位、数据位、奇偶校验位、停止位和空闲位。 Ø 起始位:发出一个逻辑“0”信号,表示传输字符开始。 Ø 数据位:紧接在起始位之后,数据位的个数可以是5、6、7、8,一般采用8位,首先传送最低位。 Ø 奇偶校验位:奇偶校验是串口通信中的一种简单纠错方式,数据位加上这一位后,使得1的位数是偶数(偶校验)或奇数(奇校验)。 Ø 停止位:它是一个字符数据传输结束的标志。可以是1位、1.5位、2位的高电平。 Ø 空闲位:处于逻辑“1”状态,表示当前传输线路上没有数据。 11.3 电路设计 星光闪电F407开发板板载一个USB串口,芯片采用CH340G,接口采用MINI USB接口,连接到STM32的USART1的PA9、PA10,电路如图11.3..1所示: 图11.3.1 11.4 软件设计 打开光盘目录下的3、程序源码->1、基础实验->下的实验8 串口通信实验工程,打开左侧目录树BSP下的Usart.c文件,此为串口的驱动程序文件,工程目录如下图所示: 图11.4.1 打开Usart.c文件,代码如下: 11.5 下载验证 用MINI USB线通过CN3的USB口连接电脑和开发板,拨动电源开关给开发板上电,D3电源指示灯点亮,连接好JLINK/ST-LINK下载调试器,打开“实验8 串口通信实验”工程代码,编译下载,打开串口调试助手,串口波特率115200,按一次KEY1按键发送一条信息,接收到一条信息会将接收到的内容回送回去。
|
|
相关推荐
|
|
2105 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1941 浏览 3 评论
4537 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2084 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2599 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 05:38 , Processed in 0.641892 second(s), Total 65, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号