依然,直接上代碼
#include "stm32f0xx.h"
#include "stm32_lib/inc/stm32f0xx_rcc.h"
#include "stm32_lib/inc/stm32f0xx_gpio.h"
int main(void)
{
//IOPAEN=1,使能GPIOA的時鐘
RCC->AHBENR |= RCC_AHBENR_GPIOAEN;
//設(shè)置IO口工作模式,GPIOA_MODER4=0x01,通用IO口
GPIOA->MODER |= GPIO_MODER_MODER4_0;
GPIOA->MODER &= ~GPIO_MODER_MODER4_1;
//設(shè)置輸出類型,GPIO_OTYPER_OT_4=1,推挽輸出
GPIOA->OTYPER &= ~GPIO_OTYPER_OT_4;
//設(shè)置速率,GPIO_OSPEEDER_OSPEEDR4=0x01,中速,10MHz
GPIOA->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR4_0;
GPIOA->OSPEEDR &= GPIO_OSPEEDER_OSPEEDR4_1;
//設(shè)置上下拉,GPIO_PUPDR_PUPDR4=0x00,無上拉,無下拉
GPIOA->PUPDR &= ~GPIO_PUPDR_PUPDR4_0;
GPIOA->PUPDR &= ~GPIO_PUPDR_PUPDR14_1;
//GPIOA->BSRR |= GPIO_BSRR_BS_4;//輸出高電平
GPIOA->BSRR &= ~GPIO_BSRR_BS_4;//輸出低電平
while(1){}
}
首先,我們看,RCC->AHBENR是什么意思?
-> 很形象,箭頭,指示的意思。
其實,這個RCC是一個指針,AHBENR是結(jié)構(gòu)體成員
RCC->AHBENR 等同 RCC.AHBENR,大家可嘗試在CooCox IDE中輸入“RCC.",結(jié)果點會自動變成->
我們可以在stm32f0xx.h頭文件中找到關(guān)于RCC結(jié)構(gòu)體的定義
上面定義的是RCC_TypeDef,我們可以繼續(xù)查看關(guān)于”RCC” 的定義,見STM32F0xx.h第791行。
知道了RCC,那RCC_BASE又是什么呢,見STM32F0xx.h第735行。
AHBPERIPH_BASE又是什么呢?
好了,一切真相大白,RCC->AHBENR,就是指寄存器地址。
我們看該寄存器到底有哪些東西,如下圖所示,我們要配置GPIOA的時鐘,只需要將IOPA置1即可。
方法很多,第一種就是純粹的移位與或操作。
RCC->AHBENR |=(1<<17);
另外一種方法,我們繼續(xù)查看頭文件stm32f0xx_rcc.h
查看stm32f0xx.h,這里就得到了IOPAEN的位置了,其宏定義為 RCC_AHBENR_GPIOAEN
如果要設(shè)置這個位的值為1,就直接用“或” RCC->AHBENR |= RCC_AHBENR_GPIOAEN
如果要設(shè)置這個位的值為0,就先取反,再“與” RCC->AHBENR &= ~RCC_AHBENR_GPIOAEN;
那其他GPIO的配置,也是如此。
上一篇:STM32入門學(xué)習(xí)之GPIO(STM32F030F4P6基于CooCox IDE)(三)
下一篇:STM32入門學(xué)習(xí)之USART(STM32F030F4P6基于CooCox IDE)
推薦閱讀
史海拾趣
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦
- 比亞迪宣布實現(xiàn)媲美L4級智能泊車,承諾為安全兜底
- GW2208:同星智能以太網(wǎng)/CANFD/LIN網(wǎng)關(guān)設(shè)備來襲
- 在中國市場,恩智浦繼續(xù)“上強度”
- 越疆機器人正式發(fā)布六足仿生機器狗
- BMW新世代融合獨創(chuàng)駕控超級大腦 重塑智能極致駕趣標(biāo)桿
- 2025年1-5月智能座艙供應(yīng)商裝機量排行榜:本土勢力多領(lǐng)域突圍,德賽西威持續(xù)霸榜
- 座艙車載聲學(xué)裝機量分析:多數(shù)量揚聲器逐漸向下普及
- Lumissil Microsystems推出高側(cè)線性LED驅(qū)動器系列 擴(kuò)展汽車照明產(chǎn)品組合
- Elaphe推出用于高性能電動汽車的Sonic X輪轂電機平臺
- Aigtek高壓放大器在軟體機器人研究中的應(yīng)用
- 下載有好禮!羅姆帶您學(xué)習(xí)電源設(shè)計應(yīng)用小技巧(功率器件篇)
- EEWorld邀你來拆解(第10期)——玩具總動員
- Microchip直播:單片機編程不再難, 利用MPLAB®代碼配置器(MCC)實現(xiàn)快速開發(fā)
- 【搜集令】曬曬你收藏的經(jīng)典模擬電路!!!
- 答題贏京東卡|《安森美和安富利物聯(lián)網(wǎng)創(chuàng)新設(shè)計大賽作品集》
- TI C2000精品課暑期伴你行 學(xué)習(xí)好禮送不停
- 有獎直播|相約Keysight World 2019“汽車電子及新能源汽車測試”論壇
- 話說我接觸的ADI實驗室電路“評估板”
- 了解PI高性能AC-DC產(chǎn)品,答題贏好禮
- STM32入門學(xué)習(xí)之ADC(STM32F030F4P6基于CooCox IDE)
- 江蘇武進(jìn)區(qū):常州天華在全國率先布局光伏大數(shù)據(jù)
- Ruff實現(xiàn)分布式光伏電站的資產(chǎn)管理和證券化商業(yè)模式
- 國網(wǎng)山東經(jīng)研院以高端設(shè)計支撐能源互聯(lián)網(wǎng)領(lǐng)航卓越發(fā)展!
- 德國Roboworker直角坐標(biāo)機器人,應(yīng)用于玻璃生產(chǎn)線的設(shè)計
- 國產(chǎn)芯片 要拿什么來拯救你
- 意法半導(dǎo)體發(fā)布2018年第一季度財報
- 從中興到華為,中美貿(mào)易戰(zhàn)進(jìn)一步擴(kuò)大
- 格力電器不分紅 擬為集成電路等產(chǎn)業(yè)技術(shù)研發(fā)留存資金
- uCloudlink 推出創(chuàng)新移動數(shù)據(jù)服務(wù) “GlocalMe? Inside”