版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、通用异步收发器(UART)LPC1700系列Cortex-M3微控制器目 录 UART简介1 UART功能应用2UART基本操作3UART简介 通用异步收发器(UART)是实现设备间异步串行通信的关键模块,LPC1700系列ARM具有4个符合16C550工业标准的异步串口。16字节收发FIFO 内置小数分频器 支持DMA发送接收UART1增加Modem和RS-485/EIA-485模式UART0、UART2、UART3增加IrDA接口目 录 UART简介1 UART功能应用2UART基本操作3UART功能应用 RS-232是PC机与设备通信里应用最广泛的一种串行接口。它被定义为一种在低速率串行
2、通讯中增加通讯距离的单端标准,由于其最大通信距离的限制,因此它常用于本地设备之间的通信。 最高速率约为20kb/s 传输最大距离约为15m 共模抑制比能力差RS-232特性打印机PCRS-232电平转换UART功能应用 与TTL电平兼容 传输距离实际达1200m 共模抑制比能力强 RS-485是一种常用远距离和多机通信的串行接口。RS-485只是定义电压和阻抗,编程方式和普通串口类似,与RS-232主要区别在于其特性。RS-485特性UART功能应用 成本低 体积小、功耗低 数据传输干扰较小 LPC1700系列ARM的UART0/2/3可以工作在UART模式,也可以工作在IrDA模式,这两种不
3、同的工作模式不能在各自的应用里互换。IrDA是一种利用红外进行点对点无线通信的技术。IrDA的优点UART功能应用 LPC1700系列ARM仅有UART1具有Modem接口,通过该接口可以接入电话线网络实现远距离通信。目 录 UART简介1 UART功能应用2UART基本操作3UART基本操作引脚配置波特率设置帧格式设置FIFO设置UnLCR字符长度停止位、校验位UART的初始化 1UnDLL、UnDLM、手动波特率 UnFCRFIFO自动复位 Rx触发点选择UART基本操作波特率设置 PCLKUnDLL波特率发生器UnDLMUnFDR目标波特率:Baud = FPCLK / (16xUnDL
4、M:UnDLL)假设APB时钟为24MHz,UART0要得到的目标波特率为9600:U0LCR = 0 x83;usFdiv = (FPCLK / 16) / 9600;U0DLM = usFdiv / 256;U0DLL = usFdiv % 256;U0LCR = 0 x03;操作示例:允许设置波特率设置波特率锁存波特率手动波特率配置模式: UART波特率发生器的时钟源是APB时钟,APB时钟经过16分频后将该值保存在除数锁存寄存器DLM与DLLUART基本操作帧格式设置 UART通信时需保证收发两端的帧格式一致,否则会出现通信错误停止位2奇偶设置3奇偶选择5 : 4字长功能1 :0位Un
5、LCR可有可无 12位操作示例:要求UART0的工作模式为:8位字符长度,1个停止位,无奇偶校验0 0U0LCR = 0 x03;001 1UART基本操作FIFO设置位75:3210功能Rx触发选择保留Tx FIFO复位Rx FIFO复位FIFO使能 FIFO的初始化比较简单,主要设置包括Rx的触发深度,Tx FIFO与Rx FIFO的复位,以及FIFO的使能。UnFCR操作示例:U0FCR = 0 x83; UART0接收缓冲区触发点为8字节,同时使能并复位发送和接收FIFOUART基本操作UART的数据收发2UART数据收发UnLSR UnIIR查询发送状态查询接收状态UnLSR UnI
6、IR接收数据UnRBR 发送数据UnTHR发送过程接收过程UART基本操作 在数据收发的过程中,通常采用查询和中断两种方式来进行。它们的基本原理如下:中断方式:通过中断实现对数据的收发,然后查询中断标志寄存器(UnIIR)来进行不同处理。查询方式:通过查询线状态寄存器(UnLSR)来获得数据发送和接收的状态,然后进行相应操作。 UART数据收发原理UART基本操作 UART发送单元 UnTHR是发送FIFO的最高字节。它包含了TX FIFO中的最新字符,可以通过总线接口对其操作UnTSRTxFIFO发送单元内部结构THR发送单元发送移位寄存器(UnTSR)发送保持寄存器(UnTHR)发送FIF
7、OUART基本操作 UART查询方式发送 UnTSR151413121110987654321UnTHR0 xAAFIFOCPU向发送保持寄存器(UnTHR)写数据,数据进入发送FIFO,然后通过发送移位寄存器将数据从TXD引脚发送出去 UnLSR5UnLSR5反映发送FIFO中是否包含数据。FIFO有数据 U0THR = ucDat; while (U0LSR & 0 x20) = 0); TXDUART基本操作 UART接收单元接收单元接收移位寄存器(UnRSR)接收保持寄存器(UnRBR)接收FIFOUnRSRRxFIFO接收单元内部结构RBR UnRBR是接收FIFO的最高字节,它包含
8、了最高接收到的字符,可以通过总线接口读取它。UART基本操作 UART查询方式接收 UnRSR151413121110987654321UnRBRFIFOdataUnLSR0UnLSR0反映接收FIFO中是否包含数据。移位寄存器(RSR)从RXD引脚接收串行数据后,送入接收FIFO;CPU从接收保持寄存器(UnRBR)将收到的数据读出 while (U0LSR & 0 x01) = 0); ucRcvData = U0RBR; FIFO有数据若无数据,则始终查询,浪费CPU的资源UART基本操作 UART中断寄存器中断状态0中断标志3 : 1功能位UnIIR位0: 表示中断是否挂起 0:至少1
9、个中断挂起 1:没有挂起中断位31:表示中断状态 001:发送中断 010:接收数据中断 110:字符超时中断 其他:略UART基本操作 UART中断方式接收 UnRSR151413121110987654321UnRBRFIFO触发点data当RX FIFO中数据未达8个字节,且在一断时间内未放入数据,会产生接收器超时中断;当RX FIFO中寄存器字节数达到8个时,触发RDA中断。收到8个字符,到达预设值,产生RDA中断产生字符超时中断(CTI)假设此时UnFCR7:6为10,则RX的触发点设置为8个字节等待3.5-4.5个字节的时间可以一次读取多个数据,当对UnRBR执行读操作,中断标志被
10、清除。仍然没有接收到数据UART基本操作 RDA中断服务程序 switch(U0IIR & 0 x0f) case 0 x04: /* 发生 RDA 中断 */ for(i = 0; i 8; i+) /* 连续读取 U0RBR 寄存器 8 次 */ RvBufi=U0RBR; /*将接收到的数据保存到接收缓冲区 RcvBuf中 */ UART基本操作 CTI中断服务程序 switch(U0IIR & 0 x0f) case 0 x0c: /* 发生超时中断CTI */ while(U0LSR & 0 x01) = 1) /* 如果接收 FIFO 中含有数据, 就读取 UnRBR 寄存器 */
11、RcvBuf i+ = U0RBR; /* 将数据保存到接收缓冲区 RcvBuf中 */ break UART基本操作 初始化例程#define UART_BPS 115200 /* 定义通讯波特率 */ /*/* 函数名称: UART0_Ini * 函数功能: 初始化串口 0。设置为 8 位数据位, 1 位停止位,无奇偶校验, 波特率为 115200 */void UART0_Ini(void) uint32_t Fdiv = 0; U0LCR = 0 x83; /* DLAB = 1,可设置波特率 */ Fdiv = (Fpclk / 16) / UART_BPS; /* 设置波特率 */
12、 U0DLM = Fdiv / 256; U0DLL = Fdiv % 256; U0LCR = 0 x03; /* 锁定除数访问 */ U0FCR = 0 x07; /* 使能并复位 FIFO */ UART基本操作 查询方式发送例程/* 函数名称: UART0_SendByte * 函数功能: 向串口发送字节数据,并等待发送完毕 * 入口参数: data 要发送的数据 * 出口参数:无 */void UART0_SendByte(uint8 data) U0THR = data; /* 发送数据 */ while ( (U0LSR&0 x40)=0 ); /* 等待数据发送完毕 */ UART基本操作 查询方式接收例程/* 函数名称: U
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版学校教师聘用合同范本:教师跨区域交流合作协议3篇
- 2025年度个人委托代缴社保及医疗合同范本4篇
- 二零二五年度鱼塘承包权租赁解除合同3篇
- 2025深圳房地产买卖合同
- 二零二五年度房地产项目投资退出合同3篇
- 2025版巡游出租车特许经营合同书3篇
- 二零二五年度储煤场煤炭储备与新能源发电合作合同3篇
- 2025出售挖掘机买卖合同书
- 个人与范文大全2024借款合同细则
- 2025招标采购购销合同格式
- 电缆挤塑操作手册
- 浙江宁波鄞州区市级名校2025届中考生物全真模拟试卷含解析
- 2024-2025学年广东省深圳市南山区监测数学三年级第一学期期末学业水平测试试题含解析
- IATF16949基础知识培训教材
- 【MOOC】大学生创新创业知能训练与指导-西北农林科技大学 中国大学慕课MOOC答案
- 劳务派遣公司员工考核方案
- 基础生态学-7种内种间关系
- 2024年光伏农田出租合同范本
- 《阻燃材料与技术》课件 第3讲 阻燃基本理论
- 2024-2030年中国黄鳝市市场供需现状与营销渠道分析报告
- 新人教版九年级化学第三单元复习课件
评论
0/150
提交评论