SCI工作在FIFO模式下一般是因为所传输的信息并不是以一个字节为单位,而是以多个字节组成的一个包为单位的。
如果一包数据包括10个字节,可以设置FIFO接收中断为10个字节时产生中断。设置以后,每接收到10个字节后才会产生一次中断,而不是每接收一次产生一次中断。这样可以大幅减小CPU的开销。
先进先出的意思就是:在中断中,读FIFO接收寄存器读到的数据是首先接收到的数据,再读一次的话读到的是接收到的第二个数据。而16深度的话就是最多能保存最近的16个接收数据,如果接收数据超过16个的话会产生相应的溢出。
发送FIFO同理。