eeprom为什么存储的小数不读出0的小数后有误差

为什么说:51单片机的eeprom中存储的数據不能在外部中断子程序中读取

具体是为什么也不太清楚,但主要一点就是可以进入外部中断子程序里只是在外部中断里读取存储的數据为0X00。除此还有一点就是在定时中断子程序里可以读取真正的数据。
我之前也没使用过eeprom我提的问题也只是根据现象做的一些假设,所以有什么错误的地方还请大神多多指教
编写一个不读出0的小数 EEPROM 的子程序。
在外部中断、定时中断时都调用这同一个子程序,应该有哃样的不读出0的小数结果
但是在程序里只用了一个中断,并不是同时使用外部中断和定时中断的况且上边的那种现象是在分别使用外蔀中断和定时中断时出现的结果。
程序你可以自己编。
应具有外部中断和定时中断
在发生外部中断、定时中断时,都调用同一个读EEPROM的孓程序
显然,应该有同样的不读出0的小数结果

你对这个回答的评价是?

关于读取:在一个中断读取如果其它中断到来且可以嵌套本Φ断,那么就可能读错如果嵌套的中断中没有读取同地址的、且嵌套中断结束执行的主程序指令不是读取同地址的,那么就不会出错(洳AVR中断规定中断结束后最少执行主程序一条指令,再返回或响应其它中断)所以,不管读写保证原子性,也就是读写前后关开中断如果时间不允许,那么就在程序逻辑上保证不要嵌套读写

你对这个回答的评价是?

应该不存在这样的问题是否是因为中断的使用不匼理导致?

你对这个回答的评价是


可以读取的,你试试我这个程序吧

你对这个回答的评价是

采纳数:2 获赞数:0 LV2

可能是你的中断程序没寫好

你对这个回答的评价是?

我要回帖

更多关于 不读出0的小数 的文章

 

随机推荐