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

TMS320F28335中断对SPI模块读写的影响

28335的SPI模块主机master在发送接收过程中,28335有中断发生,28335会怎么响应,是否就会打乱SPI的时序,那我应该怎么处理,难道要在读写过程中关掉28335的所有中断,等到发送接收完成后才能开中断 ?    或者SPI发送接收就是中断处理,但是这是有更高等级的中断来了,28335怎么响应,我该怎么处理

SpiaRegs.SPITXBUF=temp1; 这时候发生中断

while(SpiaRegs.SPISTS.bit.INT_FLAG != 1);这时候发生中断

temp2 = SpiaRegs.SPIRXBUF; 这时候发生中断

xiaoliang jiang:

回复 Eric Ma:

Eric Ma:

这样的话,中断优先级就只有在开了中断嵌套功能才有用了,是吧?我现在在做SPI串口扩展,用的是VK3224,1扩4,只用了它接收数据的功能,不知道哪儿的时序除了问题还是怎么的,4个通道同时接收数据,工作10几分钟以后,就不能再进中断了。

28335的SPI模块主机master在发送接收过程中,28335有中断发生,28335会怎么响应,是否就会打乱SPI的时序,那我应该怎么处理,难道要在读写过程中关掉28335的所有中断,等到发送接收完成后才能开中断 ?    或者SPI发送接收就是中断处理,但是这是有更高等级的中断来了,28335怎么响应,我该怎么处理

SpiaRegs.SPITXBUF=temp1; 这时候发生中断

while(SpiaRegs.SPISTS.bit.INT_FLAG != 1);这时候发生中断

temp2 = SpiaRegs.SPIRXBUF; 这时候发生中断

Eric Ma:

回复 xiaoliang jiang:

xiaoliang,

对,中断嵌套是需要相关代码进行操作的,TI有相关的说明文档教客户怎么操作,默认不打开。

4个通道同时打开的情况,你是怎么判断没有再进入中断的?你可以在中断服务函数里面放一个GPIO 翻转,然后用示波器观察。在出错的时候,查看一下SPI的相关标志位,比如接收发送错误等,看有没有什么异常。

Eric

28335的SPI模块主机master在发送接收过程中,28335有中断发生,28335会怎么响应,是否就会打乱SPI的时序,那我应该怎么处理,难道要在读写过程中关掉28335的所有中断,等到发送接收完成后才能开中断 ?    或者SPI发送接收就是中断处理,但是这是有更高等级的中断来了,28335怎么响应,我该怎么处理

SpiaRegs.SPITXBUF=temp1; 这时候发生中断

while(SpiaRegs.SPISTS.bit.INT_FLAG != 1);这时候发生中断

temp2 = SpiaRegs.SPIRXBUF; 这时候发生中断

xiaoliang jiang:

回复 Eric Ma:

VK3224有一个中断引脚IRQ, 中断下降沿,,我通过在示波器上观察它的下降沿脉冲表明它在正常工作,当出现错误,IRQ一直是低电平或者高电平,就说明没有进入中断了。因为当满足中断条件时,IRQ处于低电平,当不满足中断条件,IRQ硬件自动跳转到高电平,我通过捕捉下降沿,进入28335中断处理程序。VK中有相关寄存器,可以通过读取相关寄存器,查看是哪个通道接收有中断

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28335中断对SPI模块读写的影响
分享到: 更多 (0)