永利皇宫官网 > 永利皇宫官网网址 >

Atmega128串口详解

  传输模式的选择:同步还是异步,默认为异步模式,可通过选择USART控制和状态寄存器UCSR0C中的UMSEL位来选择,UMSEL为0,是异步模式.

  波特率的设置:通信的双方都必须有相同的波特率,波特率可以通过设置波特率发生寄存器UBRR0来确定,UBRR0为两字节16位的寄存器,可分为UBRR0H和UBRR0L.同时起作用的还有UCSR0A中的波特率加倍位UX2,当UX2为1时设置的波特率加倍.

  发送接受的使能与中断:通过设置UCSR0B来根据需要选择接收或发送的使能和是否使用中断,对使用中断的USART操作,初始化前要关闭中断

  UCSR0A能写的有Bit0,Bit1,Bit6,其他5位为状态位.我们一般使用的有Bit1-U2X0,当这一位为1时,波特率的分频因子从16降到8,能够有效的将异步通信模式的传输速率加倍,但是这一位仅对异步操作有影响,使用同步操作时应将此位清零.

  Bit7-RXCIE0为接收结束中断使能,Bit6-TXCIE0为发送结束中断使能,Bit4-RXEN0为接收使能,Bit3-TXEN0为发送使能.一般情况下,接收使用中断方式,所以使用接收结束中断使能.

  UCSR0A的Bit5-UDRE0标志指出发送缓冲器UDR0是否准备好接收新数据,UDRE0为1说明缓冲器为空,可以接收新数据,UDRE0标志也可用来产生寄存器空中断.复位后的UDRE0置位,表明发送器已经就绪:

  }RXC0为UCSR0A里的Bit7位,为USART0接收结束的状态位,接收缓冲器中有未读出的数据时RXC0置位,否则清零.串口0接收字符:

上一篇:什么是中位线 下一篇:没有了