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.

28035的SCI模块里使用FIFO模式下触发中断问题

各位前辈,请问在28035的SCI模块中如果使能了FIFO,则SCIRX和SCITX的中断是由RXFFIL和TXFFIL决定的吗?其取值如何决定中断呢?如果希望SCI模块在接收到上位机发送来的8个16进制的数,如“10 20 30 40 50 60 70 80”,要将这八位数回显到上位机,那么TXFFIL和RXFFIL分别取值多少呢?

  • 上面的问题找的了原因,是因为RXFFST寄存器最大值只能为4,当RXFFIL设置的值大于4,则在第一次中断后不能再触发中断,原因不详,猜应该是因为中断不能clear,

    新的问题是如果使用Modbus协议进行通讯,比如上位机发送给dsp的读指令01 03 30 AE 00 02 89 AC,这条指令为8个数据,使用FIFO怎么接收呢?请教。

  • 上面的问题找的了原因,是因为RXFFST寄存器最大值只能为4,当RXFFIL设置的值大于4,则在第一次中断后不能再触发中断,原因不详,猜应该是因为中断不能clear,

    新的问题是如果使用Modbus协议进行通讯,比如上位机发送给dsp的读指令01 03 30 AE 00 02 89 AC,这条指令为8个数据,使用FIFO怎么接收呢?请教。

    ERIC :FIFO的深度只有4个字节,如果你一次发八个,那么你先收四个,然后再进入中断,再接收四个就行啦。CPU速度很快,能够处理过来的。