如果想要使用64 Bytes FIFO,可以自己对UART进行修改,主要需要修改以下几个寄存器:
1. FCR(FIFO Control Register):设置FIFO的深度和触发阈值。在FCR的bits 5-6和bits 7-8上设置触发级别,分别对应接收和发送FIFO的触发级别。例如,00表示FIFO为空或已满,01表示FIFO为空或大于或等于2字节,10表示FIFO为空或大于或等于4字节,11表示FIFO为空或大于或等于8字节。
2. RFITL(Receive FIFO Interrupt Trigger Level):这个寄存器控制何时触发接收FIFO的中断。可以设置的值为0-14,其中0表示关闭中断,1-14表示接收FIFO中有该数目的字节时触发中断。
3. TERIEN(Transmit Error Interrupt Enable):这个寄存器控制是否启用发送FIFO的错误中断。如果设置为1,则在发送FIFO溢出,发送FIFO未就绪或发送FIFO传输时未能传输字节时会触发中断。
需要注意的是,修改这些寄存器可能会对UART功能产生影响,必须进行适当的调试测试,以确保正确性和稳定性。
如果想要使用64 Bytes FIFO,可以自己对UART进行修改,主要需要修改以下几个寄存器:
1. FCR(FIFO Control Register):设置FIFO的深度和触发阈值。在FCR的bits 5-6和bits 7-8上设置触发级别,分别对应接收和发送FIFO的触发级别。例如,00表示FIFO为空或已满,01表示FIFO为空或大于或等于2字节,10表示FIFO为空或大于或等于4字节,11表示FIFO为空或大于或等于8字节。
2. RFITL(Receive FIFO Interrupt Trigger Level):这个寄存器控制何时触发接收FIFO的中断。可以设置的值为0-14,其中0表示关闭中断,1-14表示接收FIFO中有该数目的字节时触发中断。
3. TERIEN(Transmit Error Interrupt Enable):这个寄存器控制是否启用发送FIFO的错误中断。如果设置为1,则在发送FIFO溢出,发送FIFO未就绪或发送FIFO传输时未能传输字节时会触发中断。
需要注意的是,修改这些寄存器可能会对UART功能产生影响,必须进行适当的调试测试,以确保正确性和稳定性。
举报