第13章异步通信与USART接口基础解读.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.校验位 奇偶校验产生电路为串行数据帧生成相应的校验位。校验位使能(UPM1 = 1) 时,发送控制逻辑电路会在数据的最后一位与第一个停止位之间插入奇偶校验位。 5.禁止发送 TXEN 清零后,只有等到所有的数据发送完成后发送器才能够真正禁止,即发送移位寄存器与发送缓冲寄存器中没有要传送的数据。发送器禁止后,TXD引脚恢复其通用I/O功能。 13.3.3数据接收—USART接收器 1)以5 到8 个数据位的方式接收数据帧 一旦接收器检测到一个有效的起始位,便开始接收数据。起始位后的每一位数据都将以所设定的波特率或XCK 时钟进行接收,直到收到一帧数据的第一个停止位。接收到的数据 被送入接收移位寄存器。第二个停止位会被接收器忽略。 接收到第一个停止位后,接收移位寄存器就包含了一个完整的数据帧。这时移位寄存器中的内容将被转移到接收缓冲器中。通过读取UDR 就可以获得接收缓冲器的内容的。 以下程序给出一个对RXC 标志采用轮询方式接收数据的例子。当数据帧少于8 位时,从UDR 读取的相应的高几位为0。当然,执行本段代码之前首先要初始化USART。 unsigned char USART_Receive( void ) { /*等待接收数据标志位置位*/ while ( !(UCSRA (1RXC)) ) ; /*读出UDR中的数据*/ return UDR; } 2)接收9 个数据位的帧 如果设定了9 位数据的数据帧(UCSZ=7),在从UDR 读取低8 位之前必须首先读取寄存器UCSRB 的RXB8 以获得第9 位数据。这个规则同样适用于状态标志位FE、DOR 及UPE。状态通过读取UCSRA获得,数据通过UDR获得。读取UDR存储单元会改变接收缓 冲器FIFO 的状态,进而改变同样存储在FIFO 中的TXB8、 FE、DOR 及UPE 位。 接下来的代码示例展示了一个简单的USART接收函数,说明如何处理9位数据及状态位。 unsigned int USART_Receive( void ) { unsigned char status, resh, resl; while ( !(UCSRA (1RXC)) ) ; status = UCSRA; resh = UCSRB; resl = UDR; if ( status (1FE)|(1DOR)|(1PE) ) return -1; resh = (resh 1) 0x01; return ((resh 8) | resl); } 3)接收完成标志和中断 USART 接收器有一个标志用来指明接收器的状态。 接收结束标志(RXC) 用来说明接收缓冲器中是否有未读出的数据。 当接收缓冲器中有未读出的数据时,此位为1,当接收缓冲器空时为0( 即不包含未读出的数据)。如果接收器被禁止(RXEN = 0),接收缓冲器会被刷新,从而使RXC 清零。置位UCSRB 的接收结束中断使能位(RXCIE) 后,只要RXC 标志置位( 且全局中断只能) 就会产生USART 接收结束中断。使用中断方式进行数据接收时,数据接收结束中断服 务程序程序必须从UDR 读取数据以清RXC 标志,否则只要中断处理程序 4)接受错误标志 USART 接收器有三个错误标志:帧错误(FE)、数据溢出(DOR) 及奇偶校验错(UPE)。 5)校验 奇偶校验模式位UPM1置位将启动奇偶校验器。校验的模式(偶校验还是奇校验)由UPM0确定。奇偶校验使能后,校验器将计算输入数据的奇偶并把结果与数据帧的奇偶位进行比较。 校验结果将与数据和停止位一起存储在接收缓冲器中。这样就可以通过读取奇偶校验错误标志位(UPE) 来检查接收的帧中是否有奇偶错误。如果下一个从接收缓冲器中读出的数据有奇偶错误,并且奇偶校验使能(UPM1 = 1),则UPE 置位。直到接收缓冲器(UDR) 被读取,这一位一直有效。 6)禁止接收功能 与发送器对比,禁止接收器即刻起作用。正在接收的数据将丢失。禁止接收器(RXEN 清零) 后,接收器将不再占用RXD 引脚;接收缓冲器FIFO 也会被刷新。缓冲器中的数据将 丢失。 13.4 基于USART接口基本通信的实现与测试 程序见P384 13.4.2 RS-232C总线标准介绍 RS-232C是美国电子工业协会(EIA)和国际电报电话咨询委员会(CCITT)为串行通信设备制定的一种标准。 RS-232C电气特性 EIA-RS-232C对电气特性、逻辑电平和各种信号线功能都作了明确规定。 在TXD和RXD引脚上电平定义: 逻辑1=-3V~-15V 在RTS、CTS、DSR、DTR和DCD等控制线上电平定义: 信号有效=+3V~+15V 信号无效=-3V~-

文档评论(0)

风凰传奇 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档