[問題] 關於GPIO的指標寫法

看板ASM (組合語言)作者 (--)時間8年前 (2016/11/19 09:54), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/2 (看更多)
請教大家,在STM32Lxx.h有以下指標寫法 #define GPIOB_BASE (0x0c00) #define GPIOB ((GPIO_TypeDef *) GPIOB_BASE) typedef struct { __IO uint32_t CRL; __IO uint32_t CRH; __IO uint32_t IDR; __IO uint32_t ODR; __IO uint32_t BSRR; __IO uint32_t BRR; __IO uint32_t LCKR; } GPIO_TypeDef; int main(void) { GPIOB->CRH &= 0xFFFFFFF0; GPIOB->CRH |= 0x00000003; } 其中的指標寫法: #define GPIOB ((GPIO_TypeDef *) GPIOB_BASE) 請問大家,有沒有簡單的example code可以協助理解這種寫法? 我找了很多網路資料都沒有多說 在正規C語言中這種寫法的關鍵字是什麼?查得到C語言正規教材嗎? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.224.140.214 ※ 文章網址: https://www.ptt.cc/bbs/ASM/M.1479520468.A.8DE.html

11/19 12:46, , 1F
這不就是 Memory-mapped I/O !?
11/19 12:46, 1F

11/22 23:10, , 2F
CubeMx是你的好朋友
11/22 23:10, 2F
文章代碼(AID): #1OBx3KZU (ASM)
討論串 (同標題文章)
文章代碼(AID): #1OBx3KZU (ASM)