![]() |
發布時間: 2020-6-10 21:47
正文摘要:求教,在讀出寫入到STC15W4K32S4內部dataflash的數據時,為什么定義成unsigned char和unsigned long型變量的數據會出錯?unsigned int變量讀出的數據是正確的,如下圖: 代碼如下: //main.c //============= ... |
wulin 發表于 2020-6-11 10:16 學習了,謝謝你的指導! |
angmall 發表于 2020-6-11 10:50 確實是打印的問題,非常感謝!!!!!! ![]() |
不是內部dataflash讀寫問題 是printf()函數的問題 ![]() |
不是很明白樓主的問題。STC單片機的內置EEPROM是按扇區劃分的,每個扇區容量512字節,寫數據之前要把整個扇區擦除,哪怕只寫一個字節。多字節數據只能按字節逐一寫入。int型和long型數據得事先分解后才能正確寫入。一次最多只能寫512字節。讀取EEPROM中數據也是按字節逐一讀出,再將原int型和long型數據按寫入時分解方式逆操作還原。 |