|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
把單片機(jī)的數(shù)放到外部存儲(chǔ)器中要求放到固定的地址單元,實(shí)現(xiàn)? |
| 作者:yuer0906 欄目:技術(shù)交流 |
把單片機(jī)的數(shù)放到外部存儲(chǔ)器中,要求放到固定的地址單元,比如0x10,怎么實(shí)現(xiàn)? tmp=(unsigned int xdata *)0; //tmp指向地址是0的單元; ACC=P0; *tmp = ACC; //把數(shù)據(jù)存放到外部地址是0開始的單元中; tmp++; 這條語句能實(shí)現(xiàn)嗎? |
| 2樓: | >>參與討論 |
| 作者: computer00 于 2006/6/8 0:06:00 發(fā)布:
能實(shí)現(xiàn)。不過你放的是int型的,即放了2個(gè)字節(jié)。 |
|
| 3樓: | >>參與討論 |
| 作者: yuer0906 于 2006/6/8 11:56:00 發(fā)布:
但是實(shí)際上只有一個(gè)字節(jié)的數(shù)啊 需要外部比較大的容量來存儲(chǔ)數(shù)據(jù) ,不設(shè)置成int型的能行嗎? |
|
| 4樓: | >>參與討論 |
| 作者: computer00 于 2006/6/8 12:38:00 發(fā)布:
用CHAR型的就是一字節(jié)。 unsigned CHAR xdata *p; p=(unsigned CHAR xdata *)addr; *p=??; |
|
| 5樓: | >>參與討論 |
| 作者: yuer0906 于 2006/6/8 13:40:00 發(fā)布:
搞不懂了 tmp=(unsigned int xdata *)0; int在這里是地址的類型,而不是地址里數(shù)據(jù)的類型吧? 地址要從0到2500。 |
|
| 6樓: | >>參與討論 |
| 作者: computer00 于 2006/6/8 14:09:00 發(fā)布:
錯(cuò)了,unsigned int是要放的數(shù)據(jù)的類型。 指定為xdata,那么該指針的長(zhǎng)度就是16位的。 *后面是空格,默認(rèn)就是data,相當(dāng)于指針本身是放在內(nèi)部RAM中的,即(unsigned CHAR xdata * data)0; 如果連指針本身也要存儲(chǔ)在外部RAM中,那么就是(unsigned CHAR xdata * xdata)0; 不過這種一般不用,速度太慢了。在這里舉這個(gè)例子只是為了說面,前面的部分是修飾 指向的變量的,而*后面的才能修飾指針本身。 |
|
|
|
| 免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |