2020-04-01-【单片机】单片机笔记

 · 2020-4-29 · 次阅读


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 + );

代码3
代码4


  1. 默认:DCO @ 1.048Mhz -> MCLK, SMCLK
  2. 要求高稳定性:使用外部时钟,使能XT1,外部时钟
  3. 不需要辅助时钟时,不需要使用XT1
  4. 确定时钟源,才能确定UART时钟,整数位,小数位设置