本帖最后由 kysoc 于 2018-11-27 22:55 编辑
【LPC11U68】LPC11U6X 串口外设的学习
因为项目中要用到LPC11U6X MCU的串口, 故仔细研究下了LPC11U6x/E6x 用户手册中USART部分内容, 简单总结下分享一点心得如下: LPC11U6X MCU的串口分两类,一类为USART0, 另外一类为USART1-4,其中USART1 and USART2是该系列所有MCU都有,USART3 and USART4是该系列部分MCU才有,具体如下表所示(摘自数据手册):
USART0在寄存器MAP和功能上和USART1-4有比较大的区别,具体功能特性如下:
• 16 字节接收和发送FIFO。
• 寄存器位置符合550 工业标准。
• 接收器FIFO 触发点在1、4、8 和14 字节。
• 内置波特率发生器。
• 软件或硬件流控制。
• RS-485/EIA-485 9比特模式支持输出使能。
• RTS/CTS 流控制和其他调制解调器控制信号。
• 1X- 时钟发送或接收。
• 符合ISO 7816-3 标准的智能卡接口。
• IrDA 支持。
• DMA 支持。
USART1-4的功能特性如下:
• 支持7,8,9比特数据和1到2比特的停止位。
• 主和从的同步模式,包括数据相位选择和连续时钟操作。
• 多处理器/多站(9比特)模式,可软件寻址比较。
• RS-485发送输出使能。
• 奇偶位产生和检查: 奇校验、偶校验、无。
• 异步模式下可以软件选择5-16倍时钟的过采样。
• 1个发送FIFO和1个接收FIFO。
• 内置波特率发生器。
• 软件或硬件流控制。
• 接收数据和状态可以选择正在同一个寄存器读出。
• break暂停信号产生和侦测。
• 接收数据采用3次采样中的多数决定,但有一个采样值不同都会设置状态标志。
• 所有USART共享一个分数波特率除法器。
• 多种中断信号(Receiver Ready, Transmitter Ready,Receiver Idle, change in receiver break detect, Framing error, Parity error,Overrun, Underrun, Delta CTS detect, and receiver sample noise detected.)。
• 回环模式用作测试和流控。
• 有个特殊模式用32 kHz RTC作为UART时钟,支持最大9600波特率,当接收到一个字符时能在Deep-sleep or power-down模式下唤醒器件。
• DMA 支持。
简单比较下USART0和USART1-4,USART0带有16字节的接收和发送FIFO,USART1-4的接收和发送FIFO只有一个,USART0支持ISO 7816-3和IrDA而USART1-4不支持,其实LPC11U6X MCU的USART0是和NXP之前的LPC11U2x/3x的USART一样,USART1-4是新加的外设,4个USART功能是完全一样,但共享一个波特率发生器(是不是限制了四个USART只能用一种波特率?),新加的功能也比较实用,如特殊模式下接收唤醒功能。上面抛砖引玉, 有错误和不当之处欢迎大牛拍砖。
|