欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機寫EEPROM需要關閉中斷嗎? [打印本頁]

作者: hxdby    時間: 2023-7-23 11:01
標題: 單片機寫EEPROM需要關閉中斷嗎?
各位好,

現在用一款國產32bit M0核MCU,外部外掛了一顆EEPROM,AT24C04,IO口模擬I2C接口通信,每寫一次數據都會保存到EEPROM,寫入和保存數據都使用了均衡算法。

我的問題是,寫入數據時,需要關閉中斷嗎?我的程序中開啟了1ms定時器中斷,聽說當寫入數據時,如果被中斷打斷,將導致數據丟失。
現在我是沒管它,沒關中斷,就直接寫的,測試了幾個月,沒有發現一次數據寫入有問題的,所以現在我也搞不懂到底要不要關閉中斷。
如果關閉中斷,會不會導致另一個問題,因為我的按鍵都是放在中斷掃描的,關掉后會不會導致按鍵又出問題了。

求教有這方面經驗的大神指教。

謝謝


作者: 飛云居士    時間: 2023-7-23 13:01
1.中斷處理時間很短。2.軟件I2C速率不高(慢速)。就不需要關中。當然,中斷產生后,對要處理的事件做標志,然后,在中斷外,處理事件,就不會有問題
作者: Hephaestus    時間: 2023-7-23 15:46
EEPROM寫一次要10ms,跟中斷有什么關系?除非你的中斷處理程序運行時間超過10ms。
作者: Y_G_G    時間: 2023-7-23 15:49
如果你是用匯編,那就要關閉中斷,因為匯編的中斷現場處理是要人為去寫的
如果你用的是C語言,不需要關閉中斷,C語言的中斷的現場處理是編譯器自動寫的
作者: cnfloatleaf    時間: 2023-7-23 17:07
飛云居士 發表于 2023-7-23 13:01
1.中斷處理時間很短。2.軟件I2C速率不高(慢速)。就不需要關中。當然,中斷產生后,對要處理的事件做標志 ...

是的,不需要關中斷,我用的I2C器件就沒有關中斷
作者: npn    時間: 2023-7-23 18:10
不需要關閉,寫進去再讀出來,失敗重復5次。
作者: Hephaestus    時間: 2023-7-23 18:18
npn 發表于 2023-7-23 18:10
不需要關閉,寫進去再讀出來,失敗重復5次。

eeprom只能把1寫成0,想要把0寫成1需要先擦除,那么問題來了,如何判斷寫錯了的字節可不可以再寫進去?算法?
作者: npn    時間: 2023-7-23 18:27
Hephaestus 發表于 2023-7-23 18:18
eeprom只能把1寫成0,想要把0寫成1需要先擦除,那么問題來了,如何判斷寫錯了的字節可不可以再寫進去?算 ...

AT24C系列EEPROM沒有扇區的說法,不需要擦除,直接寫就可以了。

作者: cjjdemon    時間: 2023-7-24 08:11
Hephaestus 發表于 2023-7-23 18:18
eeprom只能把1寫成0,想要把0寫成1需要先擦除,那么問題來了,如何判斷寫錯了的字節可不可以再寫進去?算 ...

只有STC的偽EEPROM,才要這樣操作。正經的EEPROM都是可以0寫1的
作者: zsyzdx    時間: 2023-7-24 09:26
不需要關中斷,IIC速率不高!
作者: coody_sz    時間: 2023-7-24 10:04
不需要關中斷,但是每次寫之后,寫入時間要5ms以上,這段時間不能訪問EEPROM。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1