娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年06月21日(星期六)

2019年06月21日 | 嵌入式-stm32學(xué)習(xí):位帶操作

發(fā)布者:古泉癡迷者 來源: eefocus關(guān)鍵字:stm32  位帶操作  GPIO 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

// GPIO 位操作

#include "stm32f4xx.h"


// 這里只定義了GPIO ODR和IDR這兩個(gè)寄存器的位帶別名區(qū)地址,其他寄存器沒有定義


//SRAM 位帶區(qū):     0X2000 0000~0X200F 0000

//SRAM 位帶別名區(qū):    0X2200 0000~0X23FF FFFF


//外設(shè)位帶區(qū):        0X4000 0000~0X400F FFFF

//外設(shè)位帶別名區(qū):      0X4200 0000~0X43FF FFFF


// 把“位帶地址+位序號(hào)”轉(zhuǎn)換成別名地址的宏

#define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x02000000+((addr & 0x000FFFFF)<<5)+(bitnum<<2)) 


// 把一個(gè)地址轉(zhuǎn)換成一個(gè)指針

#define MEM_ADDR(addr)  *((volatile unsigned long  *)(addr))


// 把位帶別名區(qū)地址轉(zhuǎn)換成指針

#define BIT_ADDR(addr, bitnum)   MEM_ADDR(BITBAND(addr, bitnum)) 



// GPIO ODR 和 IDR 寄存器地址映射 

#define GPIOA_ODR_Addr    (GPIOA_BASE+20) 

#define GPIOB_ODR_Addr    (GPIOB_BASE+20)   

#define GPIOC_ODR_Addr    (GPIOC_BASE+20)  

#define GPIOD_ODR_Addr    (GPIOD_BASE+20) 

#define GPIOE_ODR_Addr    (GPIOE_BASE+20) 

#define GPIOF_ODR_Addr    (GPIOF_BASE+20)      

#define GPIOG_ODR_Addr    (GPIOG_BASE+20)

#define GPIOH_ODR_Addr    (GPIOH_BASE+20)      

#define GPIOI_ODR_Addr    (GPIOI_BASE+20)

#define GPIOJ_ODR_Addr    (GPIOJ_BASE+20)      

#define GPIOK_ODR_Addr    (GPIOK_BASE+20)


#define GPIOA_IDR_Addr    (GPIOA_BASE+16)  

#define GPIOB_IDR_Addr    (GPIOB_BASE+16)  

#define GPIOC_IDR_Addr    (GPIOC_BASE+16)   

#define GPIOD_IDR_Addr    (GPIOD_BASE+16)  

#define GPIOE_IDR_Addr    (GPIOE_BASE+16)    

#define GPIOF_IDR_Addr    (GPIOF_BASE+16)    

#define GPIOG_IDR_Addr    (GPIOG_BASE+16)  

#define GPIOH_IDR_Addr    (GPIOH_BASE+16)

#define GPIOI_IDR_Addr    (GPIOI_BASE+16)

#define GPIOJ_IDR_Addr    (GPIOJ_BASE+16)

#define GPIOK_IDR_Addr    (GPIOK_BASE+16)



// 單獨(dú)操作GPIO的某一個(gè)IO口,(n=0,...15)

#define PAout(n)   BIT_ADDR(GPIOA_ODR_Addr,n)  //輸出 

#define PAin(n)    BIT_ADDR(GPIOA_IDR_Addr,n)  //輸入


#define PBout(n)   BIT_ADDR(GPIOB_ODR_Addr,n)  

#define PBin(n)    BIT_ADDR(GPIOB_IDR_Addr,n)  


#define PCout(n)   BIT_ADDR(GPIOC_ODR_Addr,n)  

#define PCin(n)    BIT_ADDR(GPIOC_IDR_Addr,n)  


#define PDout(n)   BIT_ADDR(GPIOD_ODR_Addr,n)  

#define PDin(n)    BIT_ADDR(GPIOD_IDR_Addr,n)  


#define PEout(n)   BIT_ADDR(GPIOE_ODR_Addr,n)  

#define PEin(n)    BIT_ADDR(GPIOE_IDR_Addr,n)  


#define PFout(n)   BIT_ADDR(GPIOF_ODR_Addr,n)  

#define PFin(n)    BIT_ADDR(GPIOF_IDR_Addr,n)  


#define PGout(n)   BIT_ADDR(GPIOG_ODR_Addr,n)  

#define PGin(n)    BIT_ADDR(GPIOG_IDR_Addr,n)  


#define PHout(n)   BIT_ADDR(GPIOH_ODR_Addr,n)   

#define PHin(n)    BIT_ADDR(GPIOH_IDR_Addr,n)  


#define PIout(n)   BIT_ADDR(GPIOI_ODR_Addr,n)  

#define PIin(n)    BIT_ADDR(GPIOI_IDR_Addr,n)  


#define PJout(n)   BIT_ADDR(GPIOJ_ODR_Addr,n)  

#define PJin(n)    BIT_ADDR(GPIOJ_IDR_Addr,n)  


#define PKout(n)   BIT_ADDR(GPIOK_ODR_Addr,n)  

#define PKin(n)    BIT_ADDR(GPIOK_IDR_Addr,n)  


void LED_GPIO_Config(void);

void SOFT_Delay(__IO uint32_t nCount);



int main(void)

{

    /* LED 端口初始化 */

    LED_GPIO_Config();


    while (1)

    {

        // PH10 = 0,點(diǎn)亮LED

        PHout(10)= 0;       

        SOFT_Delay(0x0FFFFF);


        // PH10 = 1,熄滅LED       

        PHout(10)= 1;

        SOFT_Delay(0x0FFFFF);       

    }


}


/*

 * 初始化LED用到的IO口

 * /

void LED_GPIO_Config(void)

{       

        GPIO_InitTypeDef GPIO_InitStructure;


        RCC_AHB1PeriphClockCmd( RCC_AHB1Periph_GPIOH, ENABLE); 


        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;  


        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;


    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;


      GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;


        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 


        GPIO_Init(GPIOH, &GPIO_InitStructure);        


        GPIO_SetBits(GPIOH, GPIO_Pin_10);           

}


// 簡單的延時(shí)函數(shù)

void SOFT_Delay(__IO uint32_t nCount)   

{

    for(; nCount != 0; nCount--);

}


/*********************************************END OF FILE**********************/



關(guān)鍵字:stm32  位帶操作  GPIO 引用地址:嵌入式-stm32學(xué)習(xí):位帶操作

上一篇:嵌入式stm32學(xué)習(xí):外部中斷
下一篇:嵌入式-stm32學(xué)習(xí):按鍵檢測

推薦閱讀

? ? 6月以來,我國5G測試捷報(bào)頻傳。20日,華為宣布率先完成IMT-2020 5G推進(jìn)組組織的中國5G技術(shù)研發(fā)試驗(yàn)第三階段NSA(非獨(dú)立組網(wǎng))全部用例測試。  5G第三階段測試作為5G技術(shù)研發(fā)測試的最后一環(huán),也是最接近5G商用的一環(huán)。  早在第三階段規(guī)范發(fā)布會(huì)上,工業(yè)和信息化部信息通信發(fā)展司司長聞庫曾形象地形容過此次測試的重大意義:“如果把5G技術(shù)研發(fā)...
德州儀器(TI)(NASDAQ:TXN)今日推出了業(yè)界新款汽車系統(tǒng)基礎(chǔ)芯片(SBC)TCAN4550-Q1。該芯片集成了使用靈活數(shù)據(jù)速率控制器局域網(wǎng)(CAN FD)的控制器和收發(fā)器,旨在滿足車載網(wǎng)絡(luò)對(duì)高帶寬和數(shù)據(jù)速率靈活性的需求。它采用了幾乎所有微控制器的串行外圍接口(SPI)總線來部署CAN FD接口或提高系統(tǒng)中CAN FD總線端口的數(shù)量,同時(shí)最少量地對(duì)硬件進(jìn)行改動(dòng)。 ...
6月19日,上交所正式受理了上海合晶硅材料股份有限公司(簡稱“上海合晶”)科創(chuàng)板上市申請(qǐng)。臺(tái)灣合晶持有上海合晶48%的股權(quán),臺(tái)灣合晶表示,上海合晶申請(qǐng)?jiān)谏虾WC交所科創(chuàng)板掛牌上市,均按相關(guān)法令規(guī)定辦理,且公司仍保有對(duì)上海合晶控制地位,現(xiàn)有股東利益可獲得充分保障,并不影響公司繼續(xù)在中國臺(tái)灣上柜。根據(jù)上市地相關(guān)法規(guī),本次發(fā)行股票數(shù)量約占上海...
確定數(shù)字傳輸系統(tǒng)質(zhì)量最重要的方法之一是測量其比特誤碼率(BER)。BER 是通過比較發(fā)射的比特序列和接收的比特序列,并計(jì)算誤碼數(shù)量而計(jì)算出來的。接收的誤碼比特?cái)?shù)與接收的總比特?cái)?shù)之比就是 BER。它受到很多因素的影響,其中包括信噪比、失真和抖動(dòng)。測量 BER 最簡單的方法是強(qiáng)行通過系統(tǒng)發(fā)送比特,并計(jì)算 BER。由于這是一個(gè)統(tǒng)計(jì)過程,因此當(dāng)被測比...

史海拾趣

問答坊 | AI 解惑

開關(guān)電源設(shè)計(jì)技術(shù)!

開關(guān)電源設(shè)計(jì)技術(shù)!很具體的東西!…

查看全部問答∨

數(shù)字電視機(jī)頂盒就不可以破解啊?

本帖最后由 jameswangsynnex 于 2015-3-3 19:59 編輯   問題出在最集中的還在于“一機(jī)一盒”。各地在數(shù)字電視整體平移過程中,都會(huì)向居民免費(fèi)贈(zèng)送一臺(tái)基本型機(jī)頂盒,但這臺(tái)機(jī)頂盒只能讓家中的一臺(tái)彩電接收數(shù)字電視信號(hào),如果想讓家中所有的電視 ...…

查看全部問答∨

懂A/D頻率設(shè)計(jì),快來呀

設(shè)輸入模擬信號(hào)的最高有效頻率5khz,應(yīng)選用轉(zhuǎn)換時(shí)間為多少的A/D轉(zhuǎn)換器對(duì)它進(jìn)行轉(zhuǎn)換?…

查看全部問答∨

想學(xué)C51用哪本教材好??

想學(xué)C51用哪本教材好?? 謝謝!!…

查看全部問答∨

PCB設(shè)計(jì) 求救!

如何把兩個(gè)后綴為 “**.Pcblib” 的pcb庫合成一個(gè)pcb庫 ?…

查看全部問答∨

MDK&STM32系列ARMCortex-M3視頻培訓(xùn)教程

為了滿足部分初學(xué)者的需求,我們制作了一份STM32培訓(xùn)視頻,供大家下載。結(jié)合兩本書,還有低成本的工具,我想對(duì)于初學(xué)者來說應(yīng)該會(huì)一定的幫助。目前提供的資料:《STM32系列ARM Cortex-M3微制器原理與應(yīng)用》《ARM開發(fā)工具RealView MD ...…

查看全部問答∨

閑了

大三閑得慌 [ 本帖最后由 nwx8899 于 2011-9-27 19:46 編輯 ]…

查看全部問答∨

向soso姐等人道歉

    向soso姐,小小白,feman5012,wanghongyang說對(duì)不起。     首先,不管出于什么原因,都不應(yīng)該輕易說什么失望不失望的,這是底線問題。     其次,沒有諒解soso姐及小小白版主,如果在發(fā)帖之前 ...…

查看全部問答∨

各位誰有uCOSII的LM3S9B92的源碼?官網(wǎng)那個(gè)一直下不來,總是錯(cuò)誤。

各位誰有官網(wǎng)移植uCOS-II的LM3S9B92的源碼和配套版本的內(nèi)核文件,提供一份,非常感謝! 官網(wǎng)那個(gè)uCOS-II的我總是下載不了。uCOS-III資料太少,我怕來不及學(xué)完,還是打算上II比較穩(wěn)妥。 謝謝各位了!…

查看全部問答∨

STM32,I2C忙檢測

void I2C_Standby_24C(void)      //判斷EEPrOM忙否,通過讀取SR1的的二位BUSY的值 {   vu16 SR1_Tmp;     do   {     /*起始位*/     I2C_GenerateSTART( ...…

查看全部問答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 礼泉县| 东至县| 甘肃省| 凤城市| 阿鲁科尔沁旗| 崇明县| 遵义市| 洛扎县| 东海县| 北碚区| 漯河市| 砚山县| 义乌市| 茶陵县| 巴林左旗| 马公市| 海阳市| 曲靖市| 延边| 郧西县| 云林县| 梅州市| 宿松县| 通榆县| 瑞昌市| 乐都县| 资兴市| 仙游县| 金平| 乐东| 黄石市| 泽普县| 马尔康县| 江津市| 平乐县| 衡阳市| 松桃| 志丹县| 香河县| 六枝特区| 东宁县|