音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 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

基本語句

作者:bobo320 欄目:嵌入式系統(tǒng)
基本語句
#define UINT16 unsigned SHORT

*((volatile UINT16 *)AM_START_ADDR+ AM_ADDR_UNLOCK1) = AM_DATA_UNLOCK1;其中AM_START_ADDR是基址,AM_ADDR_UNLOCK1是偏移地址,AM_DATA_UNLOCK1是數(shù)據(jù)。

請問:1 第二個'*'是什么意思?
      2 volatile在這里有什么作用?
      3 (volatile UINT16 *)中為什么要括號?

問題比較低級,請大家?guī)兔,謝謝!

2樓: >>參與討論
su_mj000
編譯原理
'AM_START_ADDR+ AM_ADDR_UNLOCK1'是個固定數(shù)值(也允許是個變量);

之前的'(volatile UINT16 *)'表示將該數(shù)值定義(轉(zhuǎn)換)為UINT16指針(地址值);

再在之前的'*'即表示對該地址的內(nèi)容進行存取.

編譯對'*((volatile UINT16 *)AM_START_ADDR+ AM_ADDR_UNLOCK1)'的處理
正好是從右至左,而非從左到右.

論壇中有不少關(guān)于C語言以及編譯上的疑問大都由于對編譯原理不清所致.

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
請教atmega128發(fā)送數(shù)據(jù)的問題
在哪可以得到VxWorks?
ucos與面包板
系統(tǒng)reset信號線有必要加粗嗎?
尋求各類嵌入式合作項目
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


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