This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TM4C129XNCZAD:如何正确设置 FIFO 运行

Guru**** 1999175 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1424149/tm4c129xnczad-how-to-set-up-fifo-operation-properly

器件型号:TM4C129XNCZAD

工具与软件:

我很抱歉,我是一个初学者,感谢你的耐心。  如其他文章中所述、我将接管其他人的代码。

我在查看 TivaWare 外设驱动程序库和用户指南 时意识到我需要添加 UARTFIFOEnable。  我在代码中搜索、结果不在那里。  为了正确初始化 FIFO、我还需要添加什么其他内容吗?  是否有用于此操作的示例代码?

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     可通过调用 UARTFIFOEnable (UART0_BASE)启用该功能。 如果还启用中断、则默认情况下、当 FXFIFO 或 RXFIFO 为半空时会生成中断。 但是、您可以对用于生成中断的 FIFO 级别进行编程。  

    16.3.8 FIFO 操作
    UART 有2个16x8的 FIFO;一个用于发送、另一个用于接收。 两个 FIFO 均可通过进行访问
    UART 数据寄存器(UARTDR)(见1175页)。 UARTDR 寄存器返回的读取操作
    一个12位值、包含8个数据位和4个错误标志、而写入操作会放入8位数据
    发送 FIFO。


    复位完成后、两个 FIFO 都被禁用、其表现为1字节深的保持寄存器。 FIFO 是什么
    通过设置 UARTLCRH 寄存器的 FEN 位使能(第1186页)。


    FIFO 的状态可以通过 UART 标志寄存器(UARTFR)(见1180页)以及 UART 进行监控
    接收状态(UARTRSR)寄存器。 而对空、满和溢出条件的监控则是由硬件来完成的。 。

    UARTFR 寄存器包含空和满的标志(TXFE、TXFF、RXFE 和 RXFF 位)、以及
    UARTRSR 寄存器通过 OE 位指示溢出的状态。 如果 FIFO 被禁用、则为空和
    根据1字节深的保持寄存器的状态、FULL 标志被置位。


    促使 FIFO 产生中断的触发点是由 UART 中断 FIFO 控制的
    电平选择寄存器(UARTIFLS)。 两个 FIFO 可单独配置
    在不同级别触发中断。 可用的配置包括.、.、.、.和.. 例如、
    如果。 选择接收 FIFO 选项、UART 在4个数据之后生成接收中断
    接收到的字节。 复位结束后、两个 FIFO 均配置为在1/2触发中断。 标记。