一 串口通信 ATm ega16 单片机带有一个全双工的通用同步/异步串行收发模块USART,该接口是一个高度灵活的串行通讯设备
其主要特点如下: 全双工操作,可同时进行收发操作; 支持同步或异步操作; 支持5、6、7、8 和 9 位数据位,1 位或者 2 位停止位的串行数据帧结构; 三个完全独立的中断,TX 发送完成,TX 发送数据寄存器空,RX 接收完成; 支持多机通讯模式; 相关寄存器: USART 数据寄存器—UDR; USART 控制和状态寄存器—UCSRA,UCSRB,UCSRC; 波特率寄存器—UBRRL 和 UBRRH; 串口背景知识 (1)串行通讯简介 串行同步通讯容易理解,约定一个同步时钟,每一时刻传输线上的信息就是要传送的信息单元
串行异步通讯是把 一个字符看作一个独立的信息单元,每一个字符中的各位是以固定的时间传送
因此,这种传送方式在同一字节内部是同步的,而字符间是异步的
在异步通信中收 发双方取得同步的方法是采用在字符格式中设置起始位,而在字符结束时发送 1~2 个停止位
当接收器检测到起始位时,便能知道经接着的是有效的字符位,于是开始接收字符,检测到停止位时,就将接收到的有效字符装载到接收缓冲器中
最简单的串口通信使用3 根线完成:(1)地线,(2)发送,(3)接收
由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据
其他线用于握手,但是不是必须的
串口通信最重要的参数是波特率、数据位、停止位和奇偶校验
对于两个进行通行的端口,这些参数必须匹配: a,波特率:这是一个衡量通信速度的参数
它表示每秒钟传送的bit 的个数
例如300 波特表示每秒钟发送 300 个bit
当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800 波特率,那么时钟是4800Hz
这意味着串口通信在数据线上的采样率为4800Hz