[AVR单片机] spi口读写数据时被中断打断

[复制链接]
5413|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

粉丝
快速回复 在线客服 返回列表 返回顶部