- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TXSTA: 发送状态和控制寄存器 bit 7 CSRC:时钟源选择位 同步模式: 1= 主控模式(由BRG 产生时钟) 0= 从动模式(由外部时钟源提供时钟信号) bit 6 TX9:9 位发送使能位 1= 选择9 位数据发送 0= 选择8 位数据发送 bit 5 TXEN:发送使能位 1= 允许发送 0= 禁止发送 bit 4 SYNC: USART 模式选择位 1= 同步模式 0= 异步模式 bit 3 未实现: 读作0 bit 2 BRGH: 高速波特率选择位 异步模式: 1= 高速 0= 低速 同步模式: 在此模式下未使用此位 bit 1 TRMT: 发送移位寄存器状态位 1=TSR 空 0=TSR 满 bit 0 TX9D: 发送数据的第9 位 可能是地址/ 数据位或奇偶校验位。 RCSTA: 接收状态和控制寄存器 bit 7 SPEN:串口使能位 1= 使能串口 0= 禁止串口 bit 6 RX9:9 位接收使能位 1= 选择9 位接收 0= 选择8 位接收 bit 5 SREN:单字节接收使能位 同步主控模式 1= 允许接收单字节 0= 禁止接收单字节 bit 4 CREN:连续接收使能位 异步模式: 1= 允许接收器 0= 禁止接收器 同步模式: 1= 允许连续接收,直到CREN 使能位被清零(CREN 位比SREN 位优先级高)为止 0= 禁止连续接收 bit 3 ADDEN:地址检测使能位 9 位异步模式(RX9=1): 1= 允许地址检测、使能中断及装入接收缓冲器 当RSR8 置1 时 0= 禁止地址检测,接收所有字节,第9位可作为奇偶校验位 bit 2 FERR:帧出错标志位 1= 帧出错(读RCREG 寄存器可更新该位,并接收下一个有效字节) 0= 无帧错误 bit 1 OERR:溢出错误位 1= 有溢出错误(清零CREN 位可将此位清零) 0= 无溢出错误 bit 0 RX9D:接收数据的第9 位 此位可作为地址/数据位或奇偶校验位,且必须由用户固件计算得到。 USART 库函数 * 直接控制UART寄存器编程: 初始化: RCSTAbits.SPEN=1; //SPEN位置1,使能UART模块 TCSTAbits.TX9=0; //8位数据发送 TCSTAbits.SYNC=0; //异步模式 TCSTAbits.BRGH=0; //低速波特率模式 RCSTAbits.RX9=0; //8位数据接收 BRG=12; //16M晶振时,波特率9600 TRISCbits.RC6=0; //TRISC位6清零,TXD配置为I/O输出 TRISCbits.TC7=1; //TRISC位7置1,TXD配置为I/O输入 TCSTAbits.TXEN=1; //使能发送 RCSTAbits.RXEN=1; //使能接收 * 发送数据 TXREG=tx_data; //数据写入发送数据寄存器TXREG While(PIR1bits.TXIF==1);//等待发送,数据写入TXREG时 //硬件清零TXIF位,表示发送器 //满,不能继续写入数据,当数 //据全部移出TXREG时,硬件置 //TXIF为1,表示可以发送下一 //个数据 * 接收数据 If( PIR1bits.RCIF==1) { If(RCSTAT0x07==0)//检查接收状态,如果接收时无 //错误发生则读取接收数据 Rx_data=RXREG; Else //接收时出错,丢弃该接收数据 { RCSTATbits.CREN=0;//清零错误位 } } * * * * 第七章 串口模块原理及应用 7-1 串行通信模块概述 7-2 I2C模块的原理、寄存器及应用 7-3 SPI模块的原理、寄存器及应用 7-4 UART模块的原理、寄存器及应用 7-1串行通信模块概述 串行通信模块主要用于单片机和其他外设、单片机器件或计算机。这些外设器件可以是串行EEPROM、移位寄存器、显示驱动器、A/D 转换器、CRT 终
文档评论(0)