TI中文支持网
TI专业的中文技术问题搜集分享网站

关于F28377D中FIFO中断中,可否设置两个中断

在F28377D中FIFO中,可否设置两个中断,也就是说使能FIFO功能,接收字节达到FIFO设置深度后会产生一个中断,同时判断两个字节接收时间间隔大于否以值后即是没达到FIFO设置深度也产生会中断,来处理接收的数据?

Eric Ma:

这个应该是像ARM芯片类似的串口超时中断,C2000的SCI没有这个功能,你可以通过设置多一个timer中断去做这个功能。

ERIC

在F28377D中FIFO中,可否设置两个中断,也就是说使能FIFO功能,接收字节达到FIFO设置深度后会产生一个中断,同时判断两个字节接收时间间隔大于否以值后即是没达到FIFO设置深度也产生会中断,来处理接收的数据?

sijie hu:

回复 Eric Ma:

是不是在定时中断中可以读出FIFO中的数据? FIFO在未达到设定深度时也可以读出其中的数据吗?如果是的话请问应该如何操作寄存器读取数据,基本流程是怎样的?谢谢!

在F28377D中FIFO中,可否设置两个中断,也就是说使能FIFO功能,接收字节达到FIFO设置深度后会产生一个中断,同时判断两个字节接收时间间隔大于否以值后即是没达到FIFO设置深度也产生会中断,来处理接收的数据?

Eric Ma:

回复 sijie hu:

是可以在定时中断里去读取FIFO的数据。不过我认为你先用FIFO本身的中断去读,然后在FIFO中断中去清零并启动定时器,这样只有最后的几个字节才会进入定时器的超时中断。

在定时器的中断中,你可以查询FIFO的字节数,SCIFFRX中RXFFST4−0位,知道后,就用一个for函数,直接读取SCIRXBUF。

ERIC

在F28377D中FIFO中,可否设置两个中断,也就是说使能FIFO功能,接收字节达到FIFO设置深度后会产生一个中断,同时判断两个字节接收时间间隔大于否以值后即是没达到FIFO设置深度也产生会中断,来处理接收的数据?

sijie hu:

回复 Eric Ma:

感谢您的回答,我的目的是通过定时器来区分一帧数据的结束与否,也就是说如果在定时时间内串口没有接收到新的数据,就认为一帧数据结束了,进而开始处理数据,否则就继续接收数据,直到定时中断发生。

1、通常一帧数据的长度在8个字节,那么FIFO深度一般设置多少级?

2、SCIFFRX中RXFFST4−0位在读出数据后是自动清零,还是需要手动清零?

赞(0)
未经允许不得转载:TI中文支持网 » 关于F28377D中FIFO中断中,可否设置两个中断
分享到: 更多 (0)