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

28335中的SCI通信

请问技术支持,我使用28335进行SCI通信时,中断接收,但是接收到数据后,不把他读走,下次接收到数据无法进入中断函数里面。

此外,我用fifo接收时,当数据满足fifo个数时,标志位会变化,但是无法进入中断函数。

Seven Han:

您是否有清标志位:   

    SciaRegs.SCIFFRX.bit.RXFFOVRCLR=1;   // Clear Overflow flag    SciaRegs.SCIFFRX.bit.RXFFINTCLR=1;   // Clear Interrupt flag    PieCtrlRegs.PIEACK.all|=0x100;       // Issue PIE ack

请问技术支持,我使用28335进行SCI通信时,中断接收,但是接收到数据后,不把他读走,下次接收到数据无法进入中断函数里面。

此外,我用fifo接收时,当数据满足fifo个数时,标志位会变化,但是无法进入中断函数。

mangui zhang:

这些情况应该都是配置问题和标志位问题

请问技术支持,我使用28335进行SCI通信时,中断接收,但是接收到数据后,不把他读走,下次接收到数据无法进入中断函数里面。

此外,我用fifo接收时,当数据满足fifo个数时,标志位会变化,但是无法进入中断函数。

quanfa he:

回复 Seven Han:

请问如果我不把fifo的数据读走,那么清除了标志位他还会再进入中断么?

请问技术支持,我使用28335进行SCI通信时,中断接收,但是接收到数据后,不把他读走,下次接收到数据无法进入中断函数里面。

此外,我用fifo接收时,当数据满足fifo个数时,标志位会变化,但是无法进入中断函数。

quanfa he:

回复 Seven Han:

不使用fifo,直接中断接收。使用的是scic,但是 中断不把ScicRegs.SCIRXBUF.all的数据读走,此后就无法进入到中断中了。代码如下:

GpioDataRegs.GPATOGGLE.bit.GPIO0 = 1; i++;

PieCtrlRegs.PIEACK.all |= M_INT8;

请问技术支持,我使用28335进行SCI通信时,中断接收,但是接收到数据后,不把他读走,下次接收到数据无法进入中断函数里面。

此外,我用fifo接收时,当数据满足fifo个数时,标志位会变化,但是无法进入中断函数。

Seven Han:

回复 quanfa he:

quanfa he不使用fifo,直接中断接收。使用的是scic,但是 中断不把ScicRegs.SCIRXBUF.all的数据读走,此后就无法进入到中断中了。

不读走SCIRXBUF中的数据的话,RXRDY标志不会自动清掉的,无法判断是否有新数据,也就无法再进中断了

赞(0)
未经允许不得转载:TI中文支持网 » 28335中的SCI通信
分享到: 更多 (0)