主题中讨论的其他器件: TM4C123
工具/软件:TI-RTOS
尊敬的专家:
我正在研究 UARTTiva 自适应、它支持半双工操作(用于专有总线的主器件实现)。 我不使用 DMA、而是使用中断驱动方法 UARTTiva。
即使我通过以下代码取消屏蔽了 UART 中断屏蔽中的 EOT 位
#define UART_INT_EOT 0x800 //传输结束中断屏蔽
/*启用传输结束中断*/
UARTIntClear (hwAttrs->baseAddr、UART_INT_EOT);
UARTIntEnable (hwAttrs->baseAddr、UART_INT_EOT);
当最后一个位被发送时、我没有得到中断。 调试寄存器视图显示了要取消屏蔽的中断。 在 UART 原始中断状态和 UART 屏蔽中断状态中、当中断发生时(始终仅分别为 TXRIS 或 TXMIS)、我都看不到 EOT 位被置位
通过以下代码将 UART 控制(UARTCTL)寄存器的 EOT 位置位后
UARTDisable (hwAttrs->baseAddr);
HWREG ((hwAttrs->baseAddr)+ UART_O_CTL)|=(UART_CTL_EOT);
UARTEnablehwAttrs->baseAddr;
当中断按预期发生(TXMIS)时、BUSY 标志始终清零、但 EOTRIS 仍始终清零。
是真正支持 EOT 中断的器件、如 TivaTM4C129ENCPDT 微控制器中所述
EOTRIS 数据表(第1323页)?