#define PORTC *(unsigned char volatile *)(0x1003)
地址=通過宏觀數據定義
#define DDRC *(unsigned char volatile *)(0x1007)
所以我一直想讀一些東西有關嵌入式C.起初我還以爲這個宏是一個指針到指針類型,但後來我很快就假設最後的明星實際上是一個解引用而不是一個類型演員,我是否正確?解引用位置0x1003/0x1007。
它用於這樣的:PORTC = <some hex value>
的問題是什麼使一個指針型鑄造這有什麼不同? C規範中是否有某種「規定」?還是我只是一個白癡...
我也不太知道如何短語這一點,所以我不能做一個快速搜索第一...
所以它需要有一個括號作爲演員,呃?謝謝。回想起來,沒有括號的演員就沒那麼有意義了。 – lightburst
對。沒有括號就是聲明或非法構造。 – pmg
實際上,你需要在整個表達式中使用更多的括號來明確最外層'*'的優先級。即'#define PORTC(*(unsigned char volatile *)(0x1003))' – JeremyP