您的位置:首页 > 其它

单片机—UART接口知识简介(下)

2008-10-21 22:49 246 查看
 3  工作机制 当UART模块成功地接收到一个字节的数据后,会把接收到的数据载人接收缓冲寄存器(P_UART_Data),如果此时在P_UART_Status中的RXIE位为1,则会自动将RXIF标志位置1;之后读取P_UART_Data会自动将RXIF标志位清零。 当P_UART_Status中的TXIE位为1时,若TXIF位置1则表示UART模块完成数据发送并准备好进行下一次发送,如果状态寄存器中“1”标志位为0(总中断打开)则会发生一次UART发送中断。写数据到P_UART_Data寄存器会自动将TXIF位清零。BUSY为只读的标志位,当其置1时代表UART模块正在忙,当传输完成BUSY标志位会自动清零;P_UART_Status中的其他标志位还有OERR、PERR和FERR,都为帧错误信息标志,向对应的寄存器位写入“1”可清除OERR(溢出错误标志)、PERR(奇偶校验错误标志)与FERR(帧错误标志)。 在软件向P_UART_Data寄存器写入数据后,UART开始发送。UART在TX引脚上发送数据按照以下顺序:起始位、8位数据(低位在前)、奇偶校验位(奇偶校验使能的情况下有效)、停止位。发送停止位后再经过两个CPU时钟周期,寄存器P_UARTl_Status中的TXIF位被置1。 当P_UART_Ctrl寄存器中的RXEN位使能接收功能后,如果RX引脚接收到一个开始位的下降沿,标志着接收数据开始。在停止位时间周期内,串口检查以下条件:如果满足RXIF=0且RXIE=1的条件,寄存器串口向P_UART_Data写入接收字节并置RXIF位为1;如果不满足,则丢失接收数据,不会载人到寄存器P_UART_Data中。在停止位时间过了一半之后,串口开始等待RX引脚上的下一个开始位下降沿。     与UART有关的两个中断:发送中断和接收中断。发送中断信号实际上是“发送数据准备好”标志触发的。产生UART中断需要以下步骤。 (1)用“SEI”指令关闭总的中断开关。 (2)设置UART相关寄存器。 (3)在P_UART_Ctrl($46)寄存器使能发送/接收中断。 (4)用“CLI”指令打开总的中断开关。 (5)等待中断产生。

665){this.resized=true;this.style.width=665;}" style="cursor: pointer; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">


665){this.resized=true;this.style.width=665;}" style="cursor: pointer; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: