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.

SCI FIFO中断,最多可接收多少个word产生中断?

RXFFIL是5个bit,也即31个word。但是说明书中说FIFO只有16 level。后面寄存器介绍中,RXFFST虽然是5个bit,但是说只有16个words。

我按如下设置测试了一下,只进了一次中断,且溢出置位。看RXFFST为10000.

ScibRegs.SCIFFRX.all=0x0035; //21bytes

请问如果我外部的机器一次发21个字节,怎么接收才好?

谢谢

  • 抱歉忘了说了,片子是28335

  • fang,

    F28335FIFO最多接收16个数据后,就产生中断。

    如果外部机器一次发21个数据,一种方法是,配置RXFFIL4−0 = 1,这样接收一个数据后就会产生中断,然后在中断中把数据读取出来,并用一个数组把数据存进去,知道把21个数据接收完。

    另一种方法是可以配置RXFFIL4−0 = 16,接收完16个数据后就产生中断,在中断服务函数里读取这16个数据,同时配置RXFFIL4−0 = 5 接收剩下的5个数据。

    Eric