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.

TMS320F28069 SCI FIFO一直进入发送中断

Other Parts Discussed in Thread: TMS320F28069

TMS320F28069 SCI FIFO一直进入发送中断,采用TI例程Sci_FFDLB_int ,想该写用RS485 ,采用中断接收发送,但是例程中一直无限发送数据,怎样触发中断的呢?为了发送使能(485的EN)在中断函数中加了延时函数,以至于连主函数For循环都进不去了。

想请教一下,1检测哪个寄存器可以知道发送完成? 2想要自己控制发送进入中断。

  • 我找到      SciaRegs.SCIFFTX.bit.TXFFIENA = 0; 控制FIFO Txd 中断,但是我怎样检测知道我要发的数据发送完成呢?现在只能用delay函数延时解决。

  • 如果你是能FIFO发送中断,那么当FIFObuffer里面没有数据了,就一定会不断进入中断,让你填充新的数据。

    当然,你也可以使用查询方式,就是关闭FIFO中断,通过查询SCIFFTX. TXFFST4-0来知道FIFO里面还剩下多少个字节的数据还没发。

    ERIC

  • Hi ERIC

    谢谢你的回复。我就是通过查询SCIFFTX. TXFFST4-0的,但是发现如果SCIFFTX. TXFFST4-0为空的话,我还需要延时一段时间数据才能发完。

  • 那段时间你不用管它啦,最后一个字节发送到串口了由串口自己移位发送出去。

    发完的时间取决你的波特率。