STM32-庫開發(fā)-地址映射
1.stm32有AHB,APB2,APB1總線。
其中APB2外設(shè)地址空間是從0x40010000至0x40013FFF地址。第一個(gè)地址稱為基地址。
2.參考手冊中端口配置寄存器有地址偏移0x04,所以GPIOC_CRH地址為GPIOC_BASE+0x04
GPIO_TypeDef結(jié)構(gòu)體!,里面的CRL,CRH,IDR等共7個(gè)變量,之間0x04地址偏移,以后修改GPIO寄存器:
GPIO_TypeDef * GPIOx;
GPIOx = GPIOA;
GPIOx->CRL = 0xffffffff;
3.配置GPIO的寄存器要開啟外設(shè)時(shí)鐘!區(qū)別于51單片機(jī)!
注意使用不同的外設(shè)都要開啟相應(yīng)的時(shí)鐘
庫函數(shù)的實(shí)現(xiàn)原理,通過書上對GPIO_Init的實(shí)現(xiàn)代碼解釋,熟悉函數(shù)的實(shí)現(xiàn)原理及思想。
4.GPIO 4種輸入模式,可通過GPIO結(jié)構(gòu)圖分析。
我們可以看到上拉,下拉,浮空,關(guān)閉TTL的模擬輸入。
其中浮空模式一般用于標(biāo)準(zhǔn)的通信協(xié)議如I2C,USART接收端。
當(dāng)我們用ADC時(shí),則選擇模擬輸入,關(guān)閉TTL,將電壓信號(hào)直接傳送到片上外設(shè)。
3.簡單的按鍵控制LED燈的反轉(zhuǎn)。(類似于單片機(jī)的按鍵思想)
先是按鍵的GPIO配置,然后按鍵掃描。最后用戶應(yīng)用程序。
4.EXTI15_10_IRQHandler
在學(xué)習(xí)中斷過程中我們知道NVIC,EXTI等初始化,在選擇某外部中斷時(shí)需要注意EXTI15_10_IRQHandler,在此函數(shù)里面可以寫進(jìn)我們的中斷處理程序。
5.GPIO_WriteBit(GPIOB, LED1, (BitAction)((1-GPIO_ReadOutputDataBit(GPIOB, LED1))));
此運(yùn)算的含義。
6.在串行通信的過程中,了解了按照時(shí)序圖編程的思想,一個(gè)stm32一個(gè)引腳對應(yīng)clock,上升沿時(shí)另一個(gè)引腳輸入數(shù)據(jù),其中clear對應(yīng)的引腳要保持合理的電平。通過一個(gè)好 算法:一個(gè)for 8位循環(huán),再來個(gè)與操作來通過輸入數(shù)據(jù)引腳在恰當(dāng)?shù)臅r(shí)序情況下輸入電平,這樣就實(shí)現(xiàn)串行通信!