嵌入式学习小组
直播中

杨火亭

7年用户 989经验值
擅长:控制/MCU
私信 关注

想使用64 Bytes FIFO该如何设定?

官方TRM中提到NUC230/240的UART0有提供到64 Bytes的接收缓冲区,UART1及UART2只提供了16Bytes的接收缓冲区,但uart.h文件中RFITL设定仅供到14 Bytes

想问如果想使用64 Bytes FIFO该如何设定,谢谢

回帖(1)

张波

2024-5-21 17:26:48
如果想要使用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功能产生影响,必须进行适当的调试测试,以确保正确性和稳定性。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分