UART 串行通信
常用术语:
-
并行:数据各位同时进行
-
串行:数据逐位进行传输
-
全双工:(串行)收发同时进行,需要多条线
- 对于485(差分传输),则需要4根数据线
-
半双工:(串行)收发分时进行
-
波特率(bit per second, bps):单位时间发送的字符数量
硬件UART
硬件UART特性
- 全双工
- 异步模式可编程 7/8 位数据
- 独立波特率发生器
- 最大波特率是时钟频率的 1/16
- 发送、接收共两个缓冲区
- 可编程的奇偶校验
- 检测帧错误、纠错
- 发送、接收中断
校验方式
奇校验:
即:校验位+数据位中 “1” 的总数必须为奇数。
偶校验:
即:校验位+数据位中 “1” 的总数必须为偶数。
数据帧格式
起始位 数据位 校验位 停止位
- 静止状态:高电平
- 低位(LSB)先发,高位(MSB)在后
- 实现方式:移位寄存器
- 静止状态:高电平
- 起始位:低电平
- 停止位:高电平,1位,或者2位
两种实现
RS232
- ±15V
RS485
- 差分传输
- 双线制/四线制
- 波特率设置
代码
while(BAKCTL & LOCKIO){
BAKCTL &= ~ LOCKIO;
}
UCSCTL6 &= ~XT1OFF:
UCSCTL7 &= ~(XT1OFFG + DCOEFFG + );
- 默认:DCO @ 1.048Mhz -> MCLK, SMCLK
- 要求高稳定性:使用外部时钟,使能XT1,外部时钟
- 不需要辅助时钟时,不需要使用XT1
- 确定时钟源,才能确定UART时钟,整数位,小数位设置