搜索
熱門(mén)關(guān)鍵詞:
神經(jīng)網(wǎng)絡(luò )
瑞薩
收發(fā)器
STM32
Vishay
手機版
官方微博
微信公眾號
登錄
|
免費注冊
首頁(yè)
新聞
新品
文章
下載
電路
問(wèn)答
視頻
職場(chǎng)
雜談
會(huì )展
工具
博客
論壇
在線(xiàn)研討會(huì )
技術(shù)頻道:
單片機/處理器
FPGA
軟件/編程
電源技術(shù)
模擬電子
PCB設計
測試測量
MEMS
系統設計
無(wú)源/分立器件
音頻/視頻/顯示
應用頻道:
消費電子
工業(yè)/測控
汽車(chē)電子
通信/網(wǎng)絡(luò )
醫療電子
機器人
當前位置:
EEChina首頁(yè)
›
論壇
›
單片機/處理器
返回列表
查看:
11451
|
回復:
8
[提問(wèn)]
KEIL中關(guān)于DBYTE
[復制鏈接]
左左
左左
當前離線(xiàn)
積分
9301
電梯直達
樓主
發(fā)表于 2010-10-28 01:32:16
|
只看該作者
|
倒序瀏覽
|
閱讀模式
貿澤電子有獎問(wèn)答視頻,回答正確發(fā)放10元微信紅包
關(guān)鍵詞:
DBYTE
,
Keil
10
積分
這是KEIL C中一個(gè)絕對地址宏指令DBYTE的講解:
DBYTE[address]
說(shuō)明:在8051內部數據存儲器里,讀取一個(gè)字節的內容
自變量:內部數據存儲器的地址(0~0xff)
定義:#define DBYTE((unsigned char volatile data *)0)
例子代碼:
#include "absacc.h"
void IRamSet (unsigned char value);
void Main(void)
{
char val = 0
IRamSet (0xaa);
val = DBYTE [0x0032];
DBYTE [0x0032]—0x1b;
}
unsigned char idata address _at_ 0x20; // 這句定義是什么意思呢?
void IRamSet (unsigned char value)
{
unsigned char idata *index = &address;
unsigned char i;
for (i = 0;i < (0x7f —0x20+0x01);i++) // 這個(gè)循環(huán)的限制條件是什么意思呢?
{
*index = value;
index ++;
}
}
想請教下,這個(gè)程序的大概意思是什么?以及幫我解答下程序中的兩個(gè)問(wèn)題(已經(jīng)注釋出來(lái)了)
最佳答案
xyj
查看完整內容
沒(méi)看明白。。 看看你包含的頭文件和處理器的說(shuō)明吧。
收藏
0
頂
0
踩
0
相關(guān)文章
•
如何快速、簡(jiǎn)單地遷移Keil MDK工程項目到其他開(kāi)發(fā)工具
•
【教程9】瘋殼·人形街舞機器人-整機代碼
•
MDK-ARM Version 5.26下載地址
•
最新版Keil MDK下載
•
keil 中常見(jiàn)的幾種警告,你遇到過(guò)幾個(gè)?
•
有關(guān)Keil軟件仿真的51單片機串口調試技巧
•
keil 中常見(jiàn)的幾種警告
•
【Proteus學(xué)習之路】序列之2:keil和proteus約會(huì )了,你還在等什么?
•
【Proteus學(xué)習之路】序列之5:?jiǎn)螣糸W爍
•
Keil uVision5、RealView MDK、Keil C51之間的關(guān)系
回復
舉報
xyj
xyj
當前離線(xiàn)
積分
22712
沙發(fā)
發(fā)表于 2010-10-28 01:32:17
|
只看該作者
沒(méi)看明白。。
看看你包含的頭文件和處理器的說(shuō)明吧。
評分
參與人數
1
積分
+4
收起
理由
左左
+ 4
查看全部評分
回復
舉報
老郭
老郭
當前離線(xiàn)
積分
867442
板凳
發(fā)表于 2010-11-1 22:50:53
|
只看該作者
解決了嗎?
回復
舉報
左左
左左
當前離線(xiàn)
積分
9301
地板
樓主
|
發(fā)表于 2010-11-2 10:02:22
|
只看該作者
沒(méi)有 沒(méi)人回答呀 正糾結著(zhù)呢……
回復
舉報
suecollege
suecollege
當前離線(xiàn)
積分
750
地下室
發(fā)表于 2010-11-2 19:25:07
|
只看該作者
長(cháng)定義地址吧,怎么for里面會(huì )有那樣的語(yǔ)句啊
評分
參與人數
1
積分
+4
收起
理由
左左
+ 4
查看全部評分
回復
舉報
左左
左左
當前離線(xiàn)
積分
9301
6
樓
樓主
|
發(fā)表于 2010-11-2 21:28:57
|
只看該作者
恩 是呀 我看的時(shí)候也不懂 ……
回復
5樓
suecollege
:
回復
舉報
左左
左左
當前離線(xiàn)
積分
9301
7
樓
樓主
|
發(fā)表于 2010-11-2 21:30:56
|
只看該作者
在Keil C51標準庫ABSACC.H中定義了一些宏,利用這些宏我們以絕對地址方式訪(fǎng)問(wèn)51的存儲器。這幾個(gè)宏分別是:
#define CBYTE ((unsigned char volatile code *) 0)
#define DBYTE ((unsigned char volatile data *) 0)
#define PBYTE ((unsigned char volatile pdata *) 0)
#define XBYTE ((unsigned char volatile xdata *) 0)
#define CWORD ((unsigned int volatile code *) 0)
#define DWORD ((unsigned int volatile data *) 0)
#define PWORD ((unsigned int volatile pdata *) 0)
#define XWORD ((unsigned int volatile xdata *) 0)
以DBYTE為例,((unsigned char volatile data *) 0)定義了一個(gè)值為零的指針,該指針指向data內部RAM存儲區的一個(gè)易變無(wú)符號單字節變量。
當我們以DBYTE[0x20]這樣類(lèi)似于數組的方式使用它時(shí),根據C語(yǔ)言中對指針索引的解釋方式,它訪(fǎng)問(wèn)的是*(((unsigned char volatile data *) 0) + 0x20),簡(jiǎn)化為*(0 + 0x20),即*(0x20),就是data內部RAM存儲區0x20地址處的單字節變量。
?WORD宏和?BYTE的區別在于起始地址。以DWORD為例,如果我們訪(fǎng)問(wèn)DWORD[0x20],由于unsigned int在C51中為兩字節長(cháng),因此DWORD[0x20]其實(shí)訪(fǎng)問(wèn)的是data存儲區0x40地址開(kāi)始的兩字節無(wú)符號整形變量。
code/data/pdata/xdata在C51中分別代表代碼區/內部RAM/按頁(yè)訪(fǎng)問(wèn)的外部RAM/外部RAM四種存儲區訪(fǎng)問(wèn)方式。
這是另一個(gè)論壇中對我的解答
回復
舉報
wyoh
wyoh
當前離線(xiàn)
積分
11
8
樓
發(fā)表于 2010-12-23 18:06:57
|
只看該作者
謝謝分享
回復
舉報
孤獨小行星
孤獨小行星
當前離線(xiàn)
積分
19
9
樓
發(fā)表于 2011-3-26 16:10:50
|
只看該作者
沒(méi)看明白!
回復
舉報
返回列表
高級模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登錄后才可以回帖
登錄
|
立即注冊
本版積分規則
發(fā)表回復
回帖后跳轉到最后一頁(yè)
關(guān)于我們
-
服務(wù)條款
-
使用指南
-
站點(diǎn)地圖
-
友情鏈接
-
聯(lián)系我們
電子工程網(wǎng)
© 版權所有
京ICP備16069177號
| 京公網(wǎng)安備11010502021702
快速回復
返回頂部
返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页