打印

spi 读写被中断打断会读写错误或死循环

[复制链接]
2253|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kexd2004|  楼主 | 2011-6-13 18:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
spi 读写操作在main函数和定时中断都有调用,
若main函数正在读写时候被中断打断,会导致读写错误或死循环?请问是否存在这种可能,如何解决呢?
沙发
kexd2004|  楼主 | 2011-6-13 18:55 | 只看该作者
在定时器开始置hold引脚为低电平,结束置hold为高电平,是否有效?

使用特权

评论回复
板凳
香水城| | 2011-6-14 10:42 | 只看该作者
spi 读写操作在main函数和定时中断都有调用,
若main函数正在读写时候被中断打断,会导致读写错误或死循环?请问是否存在这种可能,如何解决呢?
kexd2004 发表于 2011-6-13 18:50


你在问哪个产品?

一般讲,这样做肯定有问题,唯一解决的途径就是避免出现这样的操作,即避免中断任何不能被中断的操作。

使用特权

评论回复
地板
dfsa| | 2011-6-14 16:40 | 只看该作者
这个操作有问题

使用特权

评论回复
5
kami03372| | 2011-6-14 16:59 | 只看该作者
最好别这么用。
main里面的spi函数,仅仅是函数,可以入栈保护起来。
但是你挂的SPI器件可是不管的,他肯定跟着你上次的spi操作来进行哈。
这样的话估计99%会操作出错。

使用特权

评论回复
6
kami03372| | 2011-6-14 17:01 | 只看该作者
简单的方法,你在中断里面仅仅增加一些标志位,记录你需要进行的SPI操作。
然后中断返回以后,在main里面根据状态来处理,这样就是顺序的。肯定没问题的了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

65

帖子

1

粉丝