比如ARM芯片LPC2132里介绍的关于UART0的一段: U0RBR 是UART0 Rx FIFO 的最高字节。它包含了最早接收到的字符,可通过总线接口读出。LSB(bit0)代表最早接收到的数据位。如果接收到的字符小于8 位,未使用的MSB 填充为0。如果要访问U0RBR,U0LCR 的除数锁存访问位(DLAB)必须为0。U0RBR 为只读寄存器。由于PE、FE 和BI 位与RBR FIFO 顶端的字节相对应(即下次读RBR 时读出的字节),因此,将接收的字节及其状态位成对读出的正确方法是先读U0LSR 寄存器的内容,再读U0RBR 的字节。
这段涉及到的 1 FIFO的情况, 2 最早接收到的数据怎么能放到LSB(这可是最低位呀)里, 3 “由于PE、FE 和BI 位与RBR FIFO 顶端的字节相对应(即下次读RBR 时读出的字节)”, 等等这些,如果我不看好多好多遍是根本不知道这是怎么一回事的?根据经验也只会知道一知半解的。 所以我给看哪些书籍或什么资料来补充我这方面的不足,能够让我再看这些大芯片的资料时不会显得很茫然的样子 还请前辈们多多指点一下!小女子感激不尽呀。。。 |