第八章异步串口浅析.ppt

UART中断方式接收 UnRSR 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 UnRBR FIFO 触发点 data 当RX FIFO中数据未达8个字节,且在一断时间内未放入数据,会产生接收器超时中断; 当RX FIFO中寄存器字节数达到 8个时,触发RDA中断。 收到8个字符,到达预设 值,产生RDA中断 产生字符超时中断(CTI) 假设此时UnFCR[7:6]为10,则RX的触发点设置为8个字节 等待3.5-4.5 个字节的时间 可以一次读取多个数据,当对UnRBR执行读 操作,中断标志被清除。 仍然没有接 收到数据 RDA中断服务程序 …… switch(U0IIR 0x0f) { …… case 0x04: /* 发生 RDA 中断 */ for(i = 0; i 8; i++) { /* 连续读取 U0RBR 寄存器 8 次 */ RvBuf[i]=U0RBR; /*将接收到的数据保存到接收缓冲区 RcvBuf中 */ } …… } …… CTI中断服务程序 …… switch(U0IIR 0x0f) { case 0x0c: /* 发生超时中断——C

文档评论(0)

1亿VIP精品文档

相关文档