datouyuan 發表于 2021-8-31 16:49
變化比較頻繁的在斷電瞬間保存。
變化很少的在每次更改時保存。
lkc8210 發表于 2021-8-31 16:48
開機時
Your_Data = IapReadByte(0x2000);//詳細可參考STC_ISP
188610329 發表于 2021-8-31 18:35
掉電存儲功能,放在掉電中斷里。
掉電檢測點定的高一點,比如,3.7V, 這樣你能用15毫秒左右的時間,儲存 ...
PEB188 發表于 2021-8-31 19:17
這樣純軟件能搞定嗎,是得需要硬件電路支持吧
PEB188 發表于 2021-8-31 17:20
我放在主程序里,這樣只要修改變量參數后要等執行完該分支才進行擦寫,感覺也可以。不知道怎么去判斷EEPR ...
188610329 發表于 2021-8-31 19:41
不需要,我實測過,當外部電容為47uf時,3.7V低壓檢測的情況下,發現掉電后有大約15毫秒處理時間,其中10 ...
PEB188 發表于 2021-8-31 19:48
這個還是需要硬件電容支持啊。我現在這只是改變燈的狀態,這不是頻繁操作的數據,還是純軟件直接擦寫好了
Hephaestus 發表于 2021-8-31 20:07
IAP什么的函數是操作flash的吧?不像是操作eeprom的代碼。
188610329 發表于 2021-8-31 19:57
你可別跟我說你搭建單片機電路的時候沒有用47uf電解電容,+ 0.1 uf 濾波電容,就跑起來了哈?這算需要額 ...

188610329 發表于 2021-8-31 20:13
STC, 就是把 Flash 當 Eeprom 用,對外號稱Eeprom, 所以一擦一個扇區,賊不方便。
PEB188 發表于 2021-8-31 20:24
我就一個STC芯片跑的,啥電容晶振復位電路都沒有,供電用穩壓管。也不會搭建多余的電路,還剛開始學[em01 ...
PEB188 發表于 2021-8-31 20:25
不是挺方便的嗎,哪個什么IIC的,學的糊里糊涂,感覺這個簡單就放棄學那個了
188610329 發表于 2021-8-31 20:57
不分頁高地址不變,低地址每次存儲 +1 ,加到255以后 擦除扇區從0開始寫
herui2128 發表于 2021-9-1 08:06
我常用的方式是計數,一般我是計10次后寫入EEPROM,然后清空計數。掉電還要寫AD檢測電壓,感覺有點麻煩就沒 ...
人人學會單片機 發表于 2021-9-1 08:28
簡單 開機時 讀取EEPROM
然后計數 設定時間 比如100ms
PEB188 發表于 2021-9-2 11:45
這樣怎么跟主程序同時運行啊

lkc8210 發表于 2021-8-31 19:44
正常不會這樣寫的吧?
不知道lsd()里寫的是什么
如果num是0
lkc8210 發表于 2021-9-2 11:59
不用你那套while循環嵌套法就可以了
while(1){
while(1){
我沒這樣寫過。雖然小白一個,但也不至于白成這樣。同時運行程序51單片機好像做不到,那應該是用定時器了,這樣就得長期占用一個定時器。本來定時器就不多PEB188 發表于 2021-9-2 17:15
lsd()里就是簡單的流水燈測試,case我從2開始寫,加入了判斷讀取的值與當前值是否一致。不過這樣還有問題 ...
lkc8210 發表于 2021-9-2 17:27
你不是要按著10秒才去擦寫嗎?
怎么又變成了連續按下會連續擦寫?
188610329 發表于 2021-9-1 20:18
掉電壓根不用寫什么檢測電壓,直接 ELVD = 1; 然后寫中斷
void Power_Lost(void) interrupt 6;
...
PEB188 發表于 2021-9-2 17:24
我沒這樣寫過。雖然小白一個,但也不至于白成這樣。同時運行程序51單片機好像做不到,那應該是用定 ...
PEB188 發表于 2021-9-2 19:48
之前是執行完分支程序的最后才判斷變量與EEPROM存儲的值是否一致,不一致才去擦寫。后來加了PWM調光就有 ...
PEB188 發表于 2021-9-2 21:20
這樣是每次進入掉電模式前保存一次數據嗎。那要是剛修改了數據,斷電一次不就沒來得及保存了。還要電路上 ...
| 歡迎光臨 (http://m.raoushi.com/bbs/) | Powered by Discuz! X3.1 |