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

標題: 關于stc15w單片機eeprom讀取2個地址時錯亂 [打印本頁]

作者: 3花木城    時間: 2022-3-1 10:34
標題: 關于stc15w單片機eeprom讀取2個地址時錯亂
讀寫一個地址時,正常使用。讀取2個地址時,會錯亂,不知道原因,猜測是不是因為寫之前要擦除一下,把另一個的也擦了?
舉例:上電a=0x0400,b=0x0401,按鍵讓a++,擦掉0x0400,寫入數(shù)據(jù)a。這時b的數(shù)據(jù)就亂了
是地址不對?
還是擦的時候沒有精準到單個地址?
作者: wulin    時間: 2022-3-1 12:08
按扇區(qū)操作(512字節(jié)),a,b....同時讀出,修改a后再全部寫回去。
作者: 天ノ憶    時間: 2022-3-1 13:10
我也遇到過這種問題,跟你現(xiàn)在狀況很像,不過是用flash模擬eeprom,當時的是按半字寫的,把一個變量x的值寫到flash里,寫完之后發(fā)現(xiàn)下一個地址的值也出問題了,而且導致程序中的某一個變量y也跟著出問題,最后解決辦法是打開.map文件找到出錯變量y的地址,發(fā)現(xiàn)上一個地址的內(nèi)存存放的是變量x的值,x的大小是一個字節(jié),由于是半字操作,也改變了下一塊內(nèi)存中y的值,所以導致y變化,
索這么多,我覺得可能是寫的方式不對
作者: 3花木城    時間: 2022-3-1 13:11
wulin 發(fā)表于 2022-3-1 12:08
按扇區(qū)操作(512字節(jié)),a,b....同時讀出,修改a后再全部寫回去。

我現(xiàn)在是兩個都擦,然后兩個都寫,再讀回,就錯了。
有規(guī)律的,都是少56,比如這次改好是456,,斷電再上電,讀就是400。我再百度找找原因
作者: 3花木城    時間: 2022-3-1 13:17
天ノ憶 發(fā)表于 2022-3-1 13:10
我也遇到過這種問題,跟你現(xiàn)在狀況很像,不過是用flash模擬eeprom,當時的是按半字寫的,把一個變量x的值寫 ...

你的這個,如果只使用一個地址,能正常嗎?我這個是STC芯片自帶的EEPROM,用一個地址OK,一個以上就有問題,沒找到原因
作者: 天ノ憶    時間: 2022-3-1 13:45
3花木城 發(fā)表于 2022-3-1 13:17
你的這個,如果只使用一個地址,能正常嗎?我這個是STC芯片自帶的EEPROM,用一個地址OK,一個以上就有問題 ...

我那是半字讀寫,肯定不正常的,
你可以打開keil的調(diào)試,單步運行,看看內(nèi)存是怎么變化的
作者: 天ノ憶    時間: 2022-3-1 13:48
3花木城 發(fā)表于 2022-3-1 13:17
你的這個,如果只使用一個地址,能正常嗎?我這個是STC芯片自帶的EEPROM,用一個地址OK,一個以上就有問題 ...

不對,看錯了, 因為是半字讀寫,所以地址不能是奇數(shù),除此之外就沒什么bug了
作者: wr520    時間: 2022-3-1 14:39
要看你的擦除模式是塊擦除還是頁面擦除,要注意看數(shù)據(jù)手冊
作者: 3花木城    時間: 2022-3-1 16:36
解決了,根據(jù)2樓的建議,現(xiàn)在的方案是:
數(shù)據(jù)a,數(shù)據(jù)b,  a=讀地址1, b=讀地址2
如果:a++,擦地址1,a寫入1,b寫入2
如果:b++,擦地址2,a寫入1,b寫入2

就是擦地址后,所有的數(shù)據(jù)都寫一下。
作者: npn    時間: 2022-3-1 17:25
單片機內(nèi)置的EEPROM,不是真正的EEPROM,而是Flash閃存,只有字節(jié)讀、字節(jié)寫、沒有字節(jié)擦除,只有扇區(qū)擦除,一次擦1扇區(qū)(512字節(jié)),二進制1寫0不可逆,只有擦除才可以全部恢復為1,一次擦一扇區(qū)(512字節(jié)),被擦除的地址必須是512的倍數(shù)(可以為0),此問題新手高發(fā),錯誤理解扇區(qū)結構導致異常。
作者: 3花木城    時間: 2022-3-1 17:49
npn 發(fā)表于 2022-3-1 17:25
單片機內(nèi)置的EEPROM,不是真正的EEPROM,而是Flash閃存,只有字節(jié)讀、字節(jié)寫、沒有字節(jié)擦除,只有扇區(qū)擦除 ...

嗯嗯,學習了,




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