时钟与串口.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文档。上传文档
查看更多
时钟与串口

控制寄存器UCONn的第10位 -- Clock Selection:选择使用的时钟 [10] 0: 使用PCLK, 1:使用UCLK引脚引入的时钟 波特率(UBRDIV)寄存器,决定分频系数UBRDIV UART特殊功能寄存器 UART特殊功能寄存器 UCONn----p175 Loop-back Mode: 该位为1 使UART 进入loop back 模式 0 = 正常模式, 1 = Loop-back 模式 Send Break Signal: 该位为1 使UART 发送一个暂停条件,该位在发送一个暂停信号后自动清除 0 = 正常发送, 1 = 发送断点信号 Transmit Mode: 这两位确定哪个模式可以写TX 数据到UART 发送保持寄存器 00 = 禁止 01 = 中断请求或查询模式 10 = DMA0 请求 (仅为 UART0) DMA3 请求 (仅为 UART2) 11 = DMA1 请求 (仅为 UART1) Receive Mode: 这两位确定哪个模式可以从UART 接收缓冲寄存器读数据 00 = 禁止 01 = 中断请求或查询模式 10 = DMA0 请求 (仅为 UART0) DMA3 请求 (仅为 UART2) 11 = DMA1 请求 (仅为 UART1) UCONn----p175 发送中断请求类型 [0]:脉冲,[1]:电平 当处在Non-FIFO模式,当Tx缓冲器为空时中断发生 当处在FIFO模式,当达到Tx FIFO达到触发水平时中断发生 Rx time out enable 允许/不允许Rx 超时中断 [7] 0 =禁止 1 =使能 Rx error status interrupt enable 允许/不允许UART 错误中断 [6] 0 =不允许 1 =允许 发送器也能够产生发送中止条件。中止条件迫使串口输出保持在逻辑0 状态,这种状态保持一个传输帧的时间长度。 通常在一帧传输数据完整地传输完之后,在通过这个全0 状态将中止信号发送给对方。 中止信号发送之后,传送数据连续放到FIFO 中(在不使用FIFO 模式下,将被放到输出保持寄存器)。 实例 /* 设置收发的中断模式为电平触发,关闭超时功能 */ rUCON0=0x0; rUCON0|=(19)|(18)|(12)|1 [1:0]Receive Mode=01:接收中断请求或查询模式 [3:2]Transmit Mode=01发送中断请求或查询模式 [4] Send Break Signal=0:正常发送 [5] loopback mode=0:正常模式 [6] Rx error status interrupt enable =1:允许发送错误中断 [7] Rx time out enable=0:关闭超时功能 UART特殊功能寄存器 发送保持寄存器UTXHn 接收缓冲寄存器URXHn UART特殊功能寄存器 UTRSTATn—p177 Transmitter empty :当发送缓冲器中已经没有有效数据时,自动置“1”;反之表明尚有数据未发送。 Transmit buffer empty :当发送缓冲寄存器中为空,自动置“1”;反之表明缓冲器中正有数据等待发送。 Receive buffer data ready :当接收缓冲寄存器从UART接收端口接收到有效数据时将自动置“1”。反之为“0”则表示缓冲器中没有数据。 接受数据,相关代码如下: while (!(rUTRSTAT0 0x1)); /* 等待接收缓冲有数据.*/ Data = rURXH0; /* 将数据写到数据端口 */ 发送数据 while (!(rUTRSTAT0 0x2)) ;/* 等待发送缓冲区空 */ rUTXH0 = data/* 发送数据 */ UART特殊功能寄存器 UART Error Status Register UERSTATn (UART Error Status Register) Frame Error :为“1”。表明发生Frame(帧)错误。 Overrun Error :为“1”,表明发生Overrun错误。 UART特殊功能寄存器 UART FIFO CONTROL REGISTER UART FIFO 控制寄存器 Tx FIFO Trigger level:发送FIFO的触发水平,也就是在发送多少个字节后产生中断 00 = 空 01 = 4字节 10 = 8字节 11 =12字节 选择当复位接收FIFO时是否自动清除FIFO中的内容。

文档评论(0)

dajuhyy + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档