文章目录
- 一、什么是串口通信
- 二、UART重要参数
- 三、利用STC-ISP生成初始化代码
- 四、使用UART发送和接收数据
一、什么是串口通信
微控制器与外部设备的数据通信,根据连线结构和传送方式的不同,可以分为两种:并行通信和串行通信。
并行通信:指数据的各位同时发送或接收,每个数据位使用一条导线。
串行通信:指数据一位接一位地顺序发送或接收。
串行通信有SPI、IIC、 UART等多种,最常见最通用的是指UART,大多数情况下,串口通信指的就是UART,我们这里所讲的也是UART。
串行通信的制式有:单工、半双工、全双工三种。
串行通信的主要方式有两种:同步和异步。
同步串行通信:需要使用同一个时钟,以数据块为单位传送数据。
异步串行通信:每个设备都有自己的时钟信号,通信中双方的波特率要保持一致,以字符为单位进行数据帧传送,一次传送一个帧。
二、UART重要参数
1.波特率:它表示的是数据传输的速率,单位是波特/秒。例如,9600波特率表示每秒可以传输9600比特的数据。
2.数据位:这个参数定义了实际的信息位数,常见的有5, 6, 7, 8位。大多数情况下,我们都是使用8位数据位。
3.停止位:停止位用来标志数据帧的结束,常见的有1和2位。大多数情况下,我们使用1位作为停止位。
4.校验位:校验位主要用来对数据进行错误检测。有些UART协议需要使用它,有些则不需要。校验位可以是无校验、奇校验或偶校验。
在51中我们重点就了解一下波特率和数据位就好了。
三、利用STC-ISP生成初始化代码
1、开发板晶振一定要设置正确,板子上的晶振频率为12Mhz。
2、波特率设置成9600,比赛中大概率也是用这个。
3、数据位长度设置位8bit
4、由于定时器1用作串口的波特率发生器,所以不能在使用定时器1做其他事情!!
四、使用UART发送和接收数据
未完待续…