同步通信发送方时钟与接收方时钟同步.ppt

同步通信发送方时钟与接收方时钟同步.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
同步通信发送方时钟与接收方时钟同步.ppt

CC2530之串口模块 串口模块简介 USART0和USART1是串行通信接口,它们能够分别运行于异步UART模式或者同步SPI模式。 两个USART具有同样的功能,可以设置在单独的I/O引脚。 同步通信与异步通信 异步通信 收、发设备使用各自时钟。 以字符(构成的帧)为单位 字符间是异步的 字符内各位是同步的 同步通信 发送方时钟与接收方时钟同步。既保持位同步,也保持字符同步。同步方法: UART模式 UART模式提供异步串行接口。在UART模式中,接口使用2线或者含有引脚RXD、TXD、可选RTS和CTS的4线。 UART模式 UART模式提供全双工传送,接收器中的位同步不影响发送功能。 传送一个UART字节包含1个起始位、8个数据位、1个作为可选项的第9位数据或者奇偶校验位再加上1个或2个停止位。 注意:虽然真实的数据包含8位或者9位,但是,数据传送只涉及一个字节。 UART模式 UART操作由USART控制和状态寄存器UxCSR以及UART控制寄存器UxUCR来控制。这里的x是USART的编号,其数值为0或者1。 当UxCSR.MODE设置为1时,就选择了UART模式 UART模式 UxCSR UART模式 UART发送 当USART收/发数据缓冲器、寄存器UxBUF写入数据时,该字节发送到输出引脚TXDx。UxBUF寄存器是双缓冲的。 UART发送 当字节传送开始时,UxCSR.ACTIVE位变为高电平,而当字节传送结束时为低。当传送结束时,UxCSR.TX_BYTE位设置为1。当USART收/发数据缓冲寄存器就绪,准备接收新的发送数据时,就产生了一个中断请求。该中断在传送开始之后立刻发生,因此,当字节正在发送时,新的字节能够装入数据缓冲器。 UART接收 当1写入UxCSR.RE位时,在UART上数据接收就开始了。然后UART会在输入引脚RXDx中寻找有效起始位,并且设置UxCSR.ACTIVE位为1。当检测出有效起始位时,收到的字节就传入到接收寄存器,UxCSR.RX_BYTE位设置为1。该操作完成时,产生接收中断。同时UxCSR.ACTIVE变为低电平。 UART接收 通过寄存器UxBUF提供收到的数据字节。当UxBUF读出时,UxCSR.RX_BYTE位由硬件清0。 UART特征格式 如果寄存器UxUCR中的BIT9和奇偶校验位设置为1,那么奇偶校验产生而且检测使能。奇偶校验计算出来,作为第9位来传送。在接收期间,奇偶校验位计算出来而且与收到的第9位进行比较。如果奇偶校验出错,则UxCSR.ERR位设置为高电平。当读取UxCSR时,UxC-SR.ERR位清除。 UART特征格式 要传送的停止位的数量设置为1或者2,这取决于寄存器位UxUCR.SPB。接收器总是要核对一个停止位。 如果在接收期间收到的第一个停止位不是期望的停止位电平,就通过设置寄存器位UxCSR.FE为高电平,发出帧出错信号。当读取UxCSR时,UxCSR.FE位清除,当UxCSR.SPB设置为1时,接收器将核对两个停止位。 注意当检测到第一个停止位正确时,将设置RX中断。如果第二个停止位不正确,设置帧误码时将有一个延迟。 这个延迟与波特率有关(位持续时间)。 波特率的产生 当运行在UART模式时,内部的波特率发生器设置UART波特率。 由寄存器UxBAUD.BAUD_M[7:0]和UxGCR.BAUD_E[4:0]定义波特率。 波特率的产生 式中:f是系统时钟频率,等于16MHzRCOSC或者32MHzXOSC。 波特率的产生 波特率的产生 波特率的产生 串口模块外设引脚相关寄存器 串口模块外设引脚相关寄存器 串口模块外设引脚相关寄存器 串口模块外设引脚相关寄存器 串口通信初始化步骤 1、清除串口发送和接收标志位UTXxIF,URXxIF 2、设置串口对应的外设引脚PERCFG,PxSEL,P2DIR 3、设置串口波特率UxBAUD,UxGCR 4、设置串口通信模式和是否允许接收UxCSR 串口0中断 串口0中断 串口中断相关位 中断使能: USART0 RX:IEN0.URX0IE USARTl RX:IEN0.URXlIE USART0 TX:IEN2.UTX0IE USARTl TX:IEN2.UTXlIE 中断标志: USART0 RX:TCON.URX0IF USARTl RX:TCON.URXlIF USART0 TX:IRCON2.UTX0IF USARTl TX:IRCON2.UTX1IF 串口中断服务函数编写 #pragma vector = INTERRUPTION_VECTOR __interrupt void Fn(void) 串口中断初始化步骤 1、清除串口发送和接收标志位

您可能关注的文档

文档评论(0)

wendang_12 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档