|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
Keil c寫的程序,怎樣讀取程序存貯器某個數(shù)據(jù)? |
| 作者:c555 欄目:單片機 |
我要讀取程序存儲器,某個地址的數(shù)據(jù),應該用什么辦法?Keil c好像沒有相關的命令。 |
| 2樓: | >>參與討論 |
| 作者: liu40231 于 2006/7/14 14:14:00 發(fā)布:
我說吧 #define XBYTE ((unsigned CHAR volatile *) 0x10000L) #define RAMADRESS XBYTE[0xb102] 真正的mp3-diy.我的mp3,我做主 |
|
| 3樓: | >>參與討論 |
| 作者: xin___xin 于 2006/7/14 15:08:00 發(fā)布:
讀取程序存儲器? |
|
| 4樓: | >>參與討論 |
| 作者: mornshine 于 2006/7/14 15:20:00 發(fā)布:
不太可能 程序存儲器的輸出使能是PSEN,而不是RD,若想要通過程序讀出來,電路設計上要有所改動。 |
|
| 5樓: | >>參與討論 |
| 作者: computer00 于 2006/7/14 15:24:00 發(fā)布:
使用code關鍵字 ((unsigned CHAR code *)0)[address] 其中的address是地址,你想寫多少就多少(當然不能超出范圍),例如: P0=((unsigned CHAR code *)0)[0x33]; //把程序空間地址0x33的內容給P0 |
|
| 6樓: | >>參與討論 |
| 作者: c555 于 2006/7/14 15:45:00 發(fā)布:
用computer00提供方法很好,一句程序搞定,謝謝! |
|
| 7樓: | >>參與討論 |
| 作者: lws 于 2006/7/14 16:00:00 發(fā)布:
CBYTE,CWORD #include <absacc.h> unsigned CHAR a; unsigned int b; a=CBYTE[0x0100];//單字節(jié) b=CWORD[0x0100];//雙字節(jié) 其實和oo說的一樣,只不過換種形式 |
|
| 8樓: | >>參與討論 |
| 作者: mornshine 于 2006/7/14 16:03:00 發(fā)布:
請教樓上各位 程序存儲器的內容應該是用PSEN來讀出的,你們所用的種種方法歸根結底都是MOVX指令,驅動的是RD信號。 |
|
| 9樓: | >>參與討論 |
| 作者: computer00 于 2006/7/14 16:10:00 發(fā)布:
使用頭文件,太麻煩了。我寧愿隨用隨寫~~~~ 或者你直接寫 *((unsigned CHAR code *)address) 也行。 關鍵是要強制轉化成指向code的指針。 在頭文件absacc.h中實際上是定義了一個宏:#define CBYTE ((unsigned CHAR code *)0) |
|
| 10樓: | >>參與討論 |
| 作者: xwj 于 2006/7/14 16:18:00 發(fā)布:
computer00 說的是對的,實際指令是MOVC 指令 |
|
| 11樓: | >>參與討論 |
| 作者: mornshine 于 2006/7/14 16:29:00 發(fā)布:
我搞錯了,忘了還有MOVC指令 呵呵,不好意思。 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |