打印
[AVR单片机]

spi口读写数据时被中断打断

[复制链接]
3834|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chrisbo|  楼主 | 2011-11-10 14:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
采用8KHZ频率对信号进行AD采样,在AD中断服务函数中用两块缓存轮流存储数据,待缓存满后在main函数中执行写AT45DB161D(FLASH)操作,发现FLASH连续读写操作被打断导致死循环一直等待,读写FLASH芯片采用的是硬件SPI口,采用查询方式收发数据,而且AD中断服务函数也尽可能写得简短,有没有哪位和我碰到过同样的问题?恳请路过的高手们帮忙指点一下,小弟万分感谢~~

相关帖子

沙发
airwill| | 2011-11-11 22:10 | 只看该作者
有几个可能, 再检查检查.
1. AD中断服务函数仍需要进一步尽可能简短
2. flash 读写的关键时序段, 可以考虑关闭中断, 当然不能关太久, 会影响 AD 的工作.
3. 是否还有其他较费时的中断影响 FLASH 的操作

使用特权

评论回复
板凳
NE5532| | 2011-11-12 12:06 | 只看该作者
楼主,你是不是再想一下,SPI是同步口,FLASH写是内部自定时,有什么中断可以打断SPI上的FLASH写操作呢?

使用特权

评论回复
地板
chrisbo|  楼主 | 2011-11-14 11:13 | 只看该作者
3# NE5532
确实是自己粗心大意啊,自己写的FLASH读写模块出了问题,多谢老师提醒~~

使用特权

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

本版积分规则

个人签名:吾生之有涯,而知也无涯!

0

主题

55

帖子

0

粉丝