音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

請教C51中一個指針的問題

作者:pq113_6 欄目:單片機
請教C51中一個指針的問題
在看SMALL RTOS時看到這行程序:*((uint8 data * data *)SP) = Ret;兩個data *是什么意思啊?

2樓: >>參與討論
coke
re
*((uint8 data * data *)SP) = Ret
這是給一個指針式指針賦值.
指針變量的定義﹕ 數(shù)據(jù)類型[存儲類型1] * [存儲類型2] 標識符
現(xiàn)在應(yīng)該知道了吧.
uint8是指針變量所指向變量的類型.
第一個data是表示該指針指向data空間.
第二各DATA是表示該指針位于data空間 

3樓: >>參與討論
pq113_6
謝謝,不過我還看過另一個版本
定義一個指向xdata空間的變量,unsigned CHAR xdata * data px;這里面沒有兩個“*”?

4樓: >>參與討論
coke
后一個*應(yīng)該是強制轉(zhuǎn)換吧﹗
 
5樓: >>參與討論
pq113_6
?
整個是這樣:
SP++;
*((uint8 data * data *)SP) = Ret;
它的過程應(yīng)該是壓棧,SP已經(jīng)是堆棧指針了?要不就是一個地址?我沒找到SP定義的地方,也可能就是一個void型數(shù)據(jù),在使用時在重新分配空間?不知道我理解的對不對?

6樓: >>參與討論
農(nóng)民講習所
疑問?
SP應(yīng)該是idata指針才對,這樣所有51系列都可以用。如果只是data,只能51以下才可以,256字節(jié)的就不行了。是不是BUG?

7樓: >>參與討論
pq113_6
不可能是BUG吧?
我是在small_rtos1.12.1源代碼中看到的。里面好多這樣的處理,注釋是“使用堆棧是為了使函數(shù)具有重入性”。不是很明白為什么這樣處理,呵呵。

8樓: >>參與討論
農(nóng)民講習所
SP就是51堆棧指針寄存器,REG51.H中有
該用*( unsigned CHAR data * idata *)SP = Ret才對。Ret是個8位指針。
用*( unsigned CHAR idata *)SP = (unsigned CHAR)Ret;更好,對后面進行強制轉(zhuǎn)換才符合理念,前面描述也符合51硬件設(shè)備描述。

還是該用idata描述SP指針!

9樓: >>參與討論
coke
re
small rtos沒搞過。不過在uc/os ii中. 每個任務(wù)都有自己的堆棧區(qū). 所以當任務(wù)切換時候.堆棧區(qū)也要改哦。

10樓: >>參與討論
pq113_6
我是這樣理解的
SP中的內(nèi)容就相當于一個指針,*( unsigned CHAR data * data *)SP是將該內(nèi)容強制轉(zhuǎn)化為指向data區(qū)的指針,并且該內(nèi)容應(yīng)該小于0x80。而農(nóng)民講習所講的*( unsigned CHAR data * idata *)SP = Ret也應(yīng)該是這樣,這樣堆棧深度更深。不過small_rtos可能更多得考慮那些小于256字節(jié)RAM的單片機(如51)。還有Ret不是指針吧?至于*( unsigned CHAR idata *)SP = (unsigned CHAR)Ret更好,我有點不明白了,這樣豈不讓SP指向idata區(qū)了嗎?

11樓: >>參與討論
12864
指向idata區(qū)更好一些,因為idata區(qū)包含了data區(qū)
但是這樣做的意義何在呢?

12樓: >>參與討論
pq113_6
可能是為了更好的兼容性
對于那些只有128字節(jié)RAM的單片機來說,這樣做兼容性更好。(我是這樣理解的)。

13樓: >>參與討論
林鳳
暈,云里霧里!
看書不是更好么?

14樓: >>參與討論
pq113_6
你指的是看哪本書啊?
怎么是云里霧里呢?那本書有這么詳細地介紹指針的用法?

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
有錢掙的項目
萬年歷維修?
請大俠推薦一個DC/DC 3=》24V (在線等)
求救,步進馬達起動的問題?
RTX51 Tiny 問題集
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號