目录
前言
串口通信(Serial Communication)是指外设和计算机间通过数据信号线、地线等按位进行传输数据的一种通信方式,串口通信的接口标准有很多,有 RS-232C、RS-232、RS-422A、RS-485 等。常用的就是 RS-232 和 RS-485。
本文第一部分以RS232C作理论的简要介绍
第二部分和第三部分,用DSP28335实现RS232串行通讯并验证。
文末有完整代码压缩包链接,有需要自取。
一、理论部分
基本概念
串行通信接口(SCI,Serial Communication Interface)是一个双线异步串行端口,通常称为UART。接收和发送有各自独立的信号线(TXD和RXD),但不是同一个时钟。SCI模块支持CPU和使用标准非归零(NRZ)格式的其他异步外围设备之间的数字通信。SCI接收器和发射器各有一个16级深度FIFO,用于减少服务开销,并且各有各自独立的启用位和中断位。二者可以独立操作用于半双工通信,或同时用于全双工通信。
- 数据格式通常采用NRZ:标准不归零传号/空号数据格式。不归零的含义是:用正、负电平表示二进制,不适用零电平。传号和空号分别表示1和0。
- 比特率可通过16位波特选择寄存器编程为不同速度。
- F28335有三个SCI接口。
- 具有通信速率自动检测和FIFO缓冲功能。
SCI数据格式
SCI数据的接收和发送都是以下格式:
- 1个起始位 One start bit
- 1~8个数据位 One to eight data bits
- 1个校验位(可选)An even/odd parity bit (optional)
- 1至2个停止位。 One or two stop bits
用于区分地址和数据的额外位(仅限地址位模式)An extra bit to distinguish addresses from data (address-bit mode only)。
数据的基本单位称为字符,长度为1至8位。数据的每个字符都包含一个起始位、一个或两个停止位以及可选的奇偶校验位和地址位格式化。带有格式信息的数据字符称为帧,下图为从数据手册截图。
-
奇校验:若字符数据位1的数目是偶数,校验位应为1,如果1的数目是奇数,校验位应为0
-
偶校验:若字符数据位1的数目是偶数,校验位应为0,如果1的数目是奇数,校验位应为1
管脚定义
RS-232C 是 EIA(美国电子工业协会)1969 年修订RS-232C 标准。RS-232C定义了数据终端设备(DTE)与数据通信设备(DCE)之间的物理接口标准。
RS-232C 常用接口是 9 针的连接器接口,简称DB9。现使用的多数都是 DB9 接口。如下图
RS232C接口定义如下表,我们通常并不会每根管脚都使用到,一般只用到TXD、RXD和