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

標題: 單片機IAP記憶讀寫怎么知道從哪個地址開始寫入 [打印本頁]

作者: 1314love    時間: 2023-3-15 11:49
標題: 單片機IAP記憶讀寫怎么知道從哪個地址開始寫入
單片機IAP記憶讀寫怎么知道從哪個地址開始寫入,請大家給我講講,謝謝

作者: devcang    時間: 2023-3-15 12:15
其實不難,看芯片手冊
作者: 1314love    時間: 2023-3-15 15:52
芯片手冊里的IAP沒看懂,所有跑來問

作者: angmall    時間: 2023-3-15 16:07
以51單片機為例:其存儲器分為三塊。
1、程序存儲器:可尋址空間64K,用于存放用戶的程序,CPU取指令只能在此空間。
2、外部分擴展存儲器:可尋址空間64K,用于存放數據,CPU無法在此空間取指令。
3、內部分RAM:256字節。這里略去功能介紹。

問題來了:如果用戶弄了2K的EEPROM,如何讓它能被CPU尋址(訪問)到呢?
有兩種方案:
1、程序一般用不了64K的全部空間,于是在【程序存儲器】中挖出2K的空間,將它做成EEPROM。這是STC一種做法。例如:IAP15Fxxxx型號芯片。
由于程序存儲器通常只能在燒錄時寫入,而EEPROM卻需要在程序運行中,由程序讀、寫或擦除,為此STC又特意開發了一套寫、擦它的方式。但讀取仍可以用通用的指令進行,如:MOVC A, @A+DPTR。
這種方案好處是:無需單獨再做EEPROM,直接利用【程序存儲器】的FLASH空間當作EEPROM用,且大小空間比較自由靈活,用不完的FALSH空間可以隨便用。
這里有一個風險:比如:0000-11FFH放的是程序,如果你把此區域當作是EEPROM,對它進行寫、擦操作,則程序就被破壞掉了。所以這個方案需要你知道程度占多長?哪些區域是程序用不到的地方。
不過風險中,也有一個重要的好處:可以用程序,修改自己的程序!例如,程序在運行中就能進行自我升級:擦除原來的程序重新寫入新的程序!這是高級用法,就不在此介紹了。

2、在【外部分擴展存儲器】中挖出2K的空間,將它做成EEPROM,這是常用的方式,不多介紹了。
樓主用C語言寫程序,兩種方式無所謂好壞之分。但必須知道EEPROM的數據是在哪個區域,因為你在定義一個EEPROM中的數據變量時,需要用到。
如果不考慮在線或遠程升級程序,建議用第2種方式的EEPROM芯片,需要考慮的問題少,不易出錯。



作者: mos03    時間: 2023-3-15 16:42
你用的是STC15系列還是其它系列,前幾天我用了SYC15W204S,用IAP的時候EEPROM是從0000H開始的。
作者: 1314love    時間: 2023-3-15 17:56
mos03 發表于 2023-3-15 16:42
你用的是STC15系列還是其它系列,前幾天我用了SYC15W204S,用IAP的時候EEPROM是從0000H開始的。

HC89F0541
作者: 1314love    時間: 2023-3-15 17:56
mos03 發表于 2023-3-15 16:42
你用的是STC15系列還是其它系列,前幾天我用了SYC15W204S,用IAP的時候EEPROM是從0000H開始的。

請問你是怎么看它是從0000H開始的

作者: coody_sz    時間: 2023-3-16 10:05
看手冊EEPROM那一章




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