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中断等级



在F28035的SCI模块中,设置了FIFO中断等级寄存器TXFFIL  RXFFIL

在Reference Guide中说,FIFO状态寄存器与中断等级匹配寄存器匹配(TXFFST<=TXFFIL)时,产生发送中断。

而在默认情况下 RXFFIL=15

是不是意味着,RXFFST只要  <=   RXFFIL=15都要产生中断?

且默认情况下,TXFFIL=0

那只有在TXFFST=0,会产生中断??

//

我感觉我应该是理解错了,究竟是怎么样的啊?

这样设计的目的是什么?

为什么要设置两个中断等级寄存器,这样做有什么工程意义啊?

//

真心求教了!

 

  • Lzh,

           TXFFIL是发送中断级别位,RXFFIL是接收中断级别位,有区别的。对于发送而言,当FIFO中的字节小于或等于TXFFIL规定的字节时,就会产生中断,默认是0,意思是,你一次给FIFO写进4个字节,那么只有当FIFO把数据全发送出去了,才会产生发送中断,重新装数;对于接收而言,也是相同的道理,设置RXFFIL为4,则只有FIFO接收满4个字节的时候,才会进入中断,CPU在中断里面读取接收到的数据。而FIFO里面有多少个数据,则是由RXFFST和TXFFST来表征。

           因为接收和发送本来就是两个不同的过程,你发送数据的个数跟你接收数据的个数不一定会相同,所以不会用一个中断等级寄存器来配置发送和接收。另外发送和接收中断等级可以根据自己系统的需求进行相应的配置,节省CPU资源。

    Eric

           

  • 明了,明了。 茅塞顿开!

    谢谢,谢谢