赞
踩
单片机与外围设备之间的信息交换和传输我们称为通信。过去通信方式有两种:并行通信和串行通信。
串行通信:
传输原理:数据按位依次顺序传输(每一位占据固定的时间长度) 优点:占用引脚资源少、成本低、传输距离远 缺点:速度慢 应用场合:常用于工控、测量设备,以及部分通信设备 如USB、COM口
并行通信:
传输原理:数据按位同时传输(按照字节或者字节的倍数去传输) 优点:速度快 缺点:占用引脚多,成本高、传输距离近、抗干扰能力弱(串扰) 应用场合:一般适用数据量大、传输距离较近的场合 如计算机总线
注意:串口使用的是串行通信,我们主要介绍它!
串行同行按传输方式划分的话:为同步方式和异步方式
同步方式:
指的是带时钟同步信号,像IIC,SPI接口都是同步通信。 要求:同步通信要求通信双方的时钟必须一致(发送数据的同时进行接收数据) 传输方式:同步通信是一种连续串行传输数据的通信方式,一次只传输一帧数据。 优点:相对于异步通信而言传输速率更高。 缺点:是通信双方必须使用同一个时钟。
异步方式:
指的是不带时钟同步信号,如UART接口就属于异步通信。 要求:通信双方必须具有接收器和发送器,但是接收器和发送器可以使用各自的时钟。 传输方式:异步通信是以字符为单位去传输,由于异步通信工作是非同步的,所以接收器必须时刻做好接收数据的准备,所以每个字符都会使用起始位和停止位代表字符的开始和结束。 优点:相比于同步通信而言设备成本低。 缺点:信道利用率低。
注意:使用异步通信,通信双方要约定好的字符格式和通信速率,否则会导致数据丢失等问题出现。
串行通信根据收发数据方式来划分的话:有单工、半双工、全双工
单工通信:
数据只能单方向传输。
半双工通信:
:数据传输上支持双方向传输,但是不能同时进行双向传输,在同一时刻,某一端只能进行发送或者接收。
全双工通信:
:双工是指数据同时在两个方向上传输,是两个 单工通信的结合,要求发送设备和接收设备同时具有独立的 接收和发送能力。
串口:物理硬件标准 串口是计算机进行串行通信的物理接口,线路简单,串口是按位进行数据的收发,可以用一根线(TXD)发送数据的同时用另一根线接收(RXD)。
为使通信顺利进行,由通信双方就如何交换信息所建立进来的一套规定,称为通信控制规程,网络术语中称为协议。另外,为统一接口和连接,规程中还有关于信号线功能、电气特性、机械特性等明确的规定,称之为接口标准。如RS-232、RS-485接口标准等。
数据接收过程:
数据来源于外部设备,一位一位的传输到芯片的数据接收引脚(RXD),传输的速度由波特率来决定。
数据发送过程:
数据来源于芯片,一位一位的传输到外部设备的数据接收引脚(RXD),传输的速度由波特率来决定。
补充:波特率
波特率就是每秒钟传输的数据位数。 波特率的单位是每秒比特数(bps) 常用的波特率有 9600、19200、38400、115200。
例子:假设波特率为:115200,8 位数据位,无校验位,一个停止位,一个开始位 (共 10 位)简写:115200,8n1。 则传输一位的时间是:t=1/115200(s),而传输一个字节需要 10 位; 那么传输一个字节的时间是:t(1byte)=10/115200(s)。 则一秒能传输的字节数是:1/t=115200/10=11520byte。
串口传输数据,一字节数据需要十位,即数据位,校验位,停止位,起始位。
起始位:
指的是一帧数据传输的开始,规定为1bit的低电平。
数据位:
指的是通信的有效信息,数据位位数可以为8bit(标准ASCII码)或者9bit(拓展ASCII码),数据位在传输时低位先出。
校验位:
指的是在发送或者接收数据时进行简单的校验,可以用来检测数据是否同步或者是否有噪声干扰等因素,校验位只占1bit,并且分为奇校验和偶校验,用户可以选择是否使用校验位。
停止位:
指的是一帧数据的结束,停止位有多种选择,一般用1bit,一定是高电平。
蓝牙(Bluetooth)是一种无线技术标准,可实现固定设备、移动设备和楼宇 个人域网之间的短距离数据交换(使用 2.4~2.485GHz 的 ISM 波段的 UHF 无线电 波)。
我们这里 介绍的是在嵌入式开发中常用的蓝牙模块——HC-05。
先按住小按钮,再给蓝牙模块上电,直到指示灯进入慢闪, 进入AT指令模式
状态 | 说明 |
---|---|
快闪(1s两次) | 正常工作模式,可以进入配对状态 |
慢闪(2s一次) | AT模式,进行蓝牙配置 |
双闪(1次闪两下) | 配对连接中 |
配置时,用 USB 转 TTL 连接 HC-05,用串口调试助手发送 AT 指令进行配置。需要注意的是, HC-05 配置模式的波特率固定为 38400,如果你给 HC-05 发送指令,没 有收到回复,记得检查一下串口调试助手的波特率是否正确。
AT :检查 HC-05 模块连接是否正常,HC-05 收到后会回复“OK” AT+NAME=名字 :配置 HC-05 的名字,配置成功后会返回“OK” AT+NAME? :询问 HC-05 的名字。发送后会收到“+NAME:“名字””,换行加“OK” AT+PSWD=密码 :配置 HC-05 密码,配对时需要用到。配置成功后,会收到“OK” AT+PSWD? :询问 HC-05 配对密码。发送后会收到“+PSWD:991102”,换行加“OK” AT+UART=波特率,停止位,校验 :设置 HC-05 的波特率,其中停止位 0 表示一位停止位,为 1 表示两位 停止位。校验位为 0 表示无校验,为 1 表示奇校验,为 2 表示偶校验。 比如设置 115200 的波特率,一位停止位,无校验。发送 “AT+UART=115200,0,0”即可。配置成功后会返回“OK” AT+UART? :询问 HC-05 波特率。发送后会收到“+UART:波特率,停止位,校验”, 换行加“OK”
注意:每一次通过串口调试助手发送的指令都要回车换行。即“\r\n”。
配置完成功后,断电重新上电,HC-05 按照配置好的名字,配对密码和 波特率开始工作。此时 LED 快闪。
蓝牙调试助手:
进去之前,把手机蓝牙打开,之后你就可以看到这样的界面,然后对着操作。
实验:蓝牙远程通过串口控制RGB三色灯
通过蓝牙,将指令通过串口发送到单片机上,进行 LED 灯的开关控制。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。