AVR讀寫外部RAM時(shí)出現(xiàn)的問題
AVR讀寫外部RAM時(shí)出現(xiàn)的問題
問:
1,對(duì)AT90S8515來說,外部RAM的地址肯定是從0x0260開始的?
2,我用ICE200仿真8515讀寫外部RAM,RAM大小為32KBytes,地址映射到0x0000-0x7fff,用PC7做它的片選。把SRE置為1,當(dāng)我訪問0x0300時(shí)PC7為低,這是對(duì)的,但當(dāng)我不去訪問0x0000-0x7fff地址空間時(shí)(例如進(jìn)入死循環(huán)),問題出現(xiàn)了,此時(shí)PC7仍為低,按道理應(yīng)為高的。這是阿AVR與51的不同,還是我弄錯(cuò)了。
答:
1、對(duì)AT90S8515來說,外部RAM的地址肯定是從0x0260開始的。這是沒問題的,訪問0x0000-0x025F的地址為內(nèi)部RAM。
2、當(dāng)你訪問過0x0300,PC7為低,當(dāng)你不訪問0x0000-0x7FFF時(shí),由于沒有一條把PC7置高的指令,所以PC7當(dāng)然還為低了。不過這也不要緊,因?yàn)楫?dāng)你訪問0x0000-0x025F的時(shí)候,RD和WR是沒有的,所以即使外部RAM被選中了,沒不會(huì)產(chǎn)生讀寫。當(dāng)你訪問0x0260-0x7FFF的時(shí)候,RD和WR就自動(dòng)產(chǎn)生了。所以就是你把外部RAM的CS直接接地也是可以的。
評(píng)論