DAY 5提到暫存器如何查找,還有開啟時鐘才能對GPIO口操作,我補充一下昨天沒貼到的暫存器地圖,在數據手冊裡。
這在手冊裡面有的地圖,可以看到地圖的位置 0x0000 0000到0xFFFF FFFF,有些位置是保留的
可以看到右半部有被放大一串外設地圖,上下有個框現由左往右延伸,看到最左邊事由0x4000 0000開始!!在看看我DAY5所說的基本外設基地址。
這邊我講個小觀念,可能有些人知道但我還是提一下,首先STM32的32是什麼意思?,是指32位元的MCU
STM也有8位元的MCU,STM8S系列,位元指的是記憶體大小,相對的功能較多。
32位元是指記憶體有0x0000 0000~0xFFFF FFFF,可以點開小算盤,開啟左邊選單選擇程式設計人員。
先在16進制(HEX)那打上8個F,在看到二進制(BIN)那有32個1的位元長度,同理可知8位元會有8個位元的長度。
我今天來就紹一下GPIO口的8種模式吧,我昨天沒講到這部份我認為這部分也很重要,想學嵌入式一定要了解。
先看一下GPIO暫存器的章節描述,先看張圖:
這張在參考手冊裡的圖,這張圖是在描述GPIO口內部的樣子這兩張一樣差在耐壓3.3跟5伏特,在往下一頁可以看到有說明GPIO口的模式有八種,這八種配制的方法如下圖:
再來看看GPIO口CRL暫存器描述:
可以看到CNF跟MODE,四位元配制1個GPIO口,CRL配置0到7,CRH配置8到15
這配置說明再看著我昨天所打的暫存器操作,我是看著這個表在配置,到這邊可以先自己看著我昨天配置成什麼模式
有八種模式,我明天來一一介紹。