在初始化过程中,我的应用程序将TMS320F2.8034万的SCI配置为在FIFO增强模式下使用中断运行。 即使在SCI传输任何数据之前,只要启用TX FIFO增强功能,就会生成SCI的TX中断。
以下说明似乎导致了该问题:
SciaRegs.SCIFFTX.Bit.SCIFFENA = 1;
重置SCI通道(请参阅下面的说明)可立即解决此问题
SciaRegs.SCIFFTX.Bit.SCIRST = 0;
SciaRegs.SCIFFTX.Bit.SCIRST = 1;
重置SCI的TX FIFO (请参阅以下说明)可暂时解决这种情况
SciaRegs.SCIFFTX.Bit.TXFIFOXRESET =0;
SciaRegs.SCIFFTX.Bit.TXFIFOXRESET =1;
但下面的指令,即清除FIFO TX中断标志的指令
SciaRegs.SCIFFTX.Bit.TXFFINTCLR = 1;
不执行任何操作来清除不需要的中断标志。
有人有什么建议吗? 我已经看到人们使用一些状态机逻辑,但这似乎是一个非常繁琐的解决方案。