// 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**********************/
上一篇:嵌入式stm32學(xué)習(xí):外部中斷
下一篇:嵌入式-stm32學(xué)習(xí):按鍵檢測
推薦閱讀
史海拾趣
- 創(chuàng)業(yè)初期與技術(shù)創(chuàng)新
CT Micro公司最初由幾位電子工程領(lǐng)域的專家創(chuàng)立,他們看到了微型計(jì)算機(jī)斷層掃描(Micro-CT)技術(shù)在電子行業(yè)中的巨大潛力。初期,公司面臨著資金短缺和技術(shù)難題,但他們通過不斷研發(fā)和創(chuàng)新,成功開發(fā)出了一款具有高性價(jià)比的Micro-CT設(shè)備,迅速獲得了市場的認(rèn)可。
- 市場拓展與合作伙伴關(guān)系
隨著產(chǎn)品的成熟,CT Micro開始積極尋求市場拓展。他們與多家電子制造企業(yè)建立了合作關(guān)系,為這些企業(yè)提供Micro-CT設(shè)備的定制服務(wù)。通過與這些企業(yè)的合作,CT Micro不僅擴(kuò)大了市場份額,還進(jìn)一步提升了產(chǎn)品的技術(shù)水平和應(yīng)用范圍。
- 研發(fā)升級(jí)與產(chǎn)品迭代
面對(duì)日益激烈的市場競爭,CT Micro不斷投入研發(fā)力量,對(duì)Micro-CT設(shè)備進(jìn)行升級(jí)和迭代。他們成功推出了多款新型設(shè)備,具有更高的分辨率、更快的掃描速度和更低的輻射劑量。這些新產(chǎn)品的推出,進(jìn)一步鞏固了CT Micro在電子行業(yè)中的領(lǐng)先地位。
- 國際化戰(zhàn)略與市場拓展
隨著國內(nèi)市場的飽和,CT Micro開始實(shí)施國際化戰(zhàn)略。他們積極參與國際展覽和研討會(huì),展示自己的產(chǎn)品和技術(shù)實(shí)力。同時(shí),他們還在海外設(shè)立了銷售和服務(wù)中心,為國際客戶提供更加便捷的服務(wù)。通過這些努力,CT Micro成功打開了國際市場的大門。
- 社會(huì)責(zé)任與可持續(xù)發(fā)展
在快速發(fā)展的同時(shí),CT Micro也積極履行社會(huì)責(zé)任。他們注重環(huán)保和可持續(xù)發(fā)展,采用環(huán)保材料和節(jié)能技術(shù)生產(chǎn)產(chǎn)品。此外,他們還積極參與公益事業(yè),為貧困地區(qū)的教育和醫(yī)療事業(yè)貢獻(xiàn)力量。這些舉措不僅提升了公司的社會(huì)形象,也為其可持續(xù)發(fā)展奠定了堅(jiān)實(shí)基礎(chǔ)。
請(qǐng)注意,這些故事框架是虛構(gòu)的,并不代表CT Micro公司的實(shí)際發(fā)展情況。如果您需要了解CT Micro公司或類似公司的真實(shí)故事,建議您查閱相關(guān)公司的官方網(wǎng)站、新聞報(bào)道或行業(yè)分析報(bào)告。
Alcatel-Lucent 的起源可以追溯到 19 世紀(jì)末的法國。1880 年,一家名為 Compagnie Générale d'électricité (CGE) 的公司在法國成立,主要從事電信和電氣設(shè)備的制造和銷售。這家公司后來成為了 Alcatel-Lucent 的前身之一。
20 世紀(jì)初,CGE 開始涉足電信領(lǐng)域,并開始在法國和國際市場上發(fā)展。該公司逐漸成為了一家領(lǐng)先的電信設(shè)備制造商,并參與了許多重要的電信基礎(chǔ)設(shè)施項(xiàng)目。
2006 年,法國的 Alcatel 和美國的 Lucent Technologies 公司宣布合并,成立了 Alcatel-Lucent 公司。這次合并創(chuàng)造了一個(gè)綜合性的電信設(shè)備制造商,覆蓋了通信網(wǎng)絡(luò)、軟件和服務(wù)等多個(gè)領(lǐng)域。
合并后,Alcatel-Lucent 成為了全球領(lǐng)先的電信設(shè)備供應(yīng)商之一,為全球各地的電信運(yùn)營商提供了廣泛的產(chǎn)品和解決方案,包括固定和移動(dòng)網(wǎng)絡(luò)、光纖通信、寬帶接入和數(shù)據(jù)中心等領(lǐng)域。
在成立后的幾年里,Alcatel-Lucent 繼續(xù)推出創(chuàng)新的產(chǎn)品和技術(shù),包括下一代移動(dòng)通信技術(shù) LTE、IP/MPLS 網(wǎng)絡(luò)和云計(jì)算解決方案等,為數(shù)字化時(shí)代的通信基礎(chǔ)設(shè)施發(fā)展做出了重要貢獻(xiàn)。
E. Dold & S?hne KG公司始建于20世紀(jì)初,當(dāng)時(shí)只是一間小型的電子手工作坊。創(chuàng)始人埃德蒙德·多爾德(Edmund Dold)憑借對(duì)電子技術(shù)的熱愛和精湛的手藝,開始生產(chǎn)簡單的電子元件。隨著時(shí)間的推移,公司逐漸擴(kuò)大規(guī)模,引進(jìn)了先進(jìn)的生產(chǎn)設(shè)備和制造工藝,逐步轉(zhuǎn)型為現(xiàn)代化的電子元件制造商。在這個(gè)過程中,多爾德家族始終秉持著精益求精、追求卓越的精神,為公司的持續(xù)發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。
在電子行業(yè)快速發(fā)展的背景下,E. Dold & S?hne KG公司始終緊跟科技潮流,致力于技術(shù)創(chuàng)新。公司投入大量資源研發(fā)新型電子元件和系統(tǒng),以滿足市場對(duì)于高性能、高可靠性產(chǎn)品的需求。通過不斷的技術(shù)創(chuàng)新,E. Dold & S?hne KG公司在行業(yè)內(nèi)樹立了良好的口碑,成為眾多知名企業(yè)的合作伙伴。
在電子行業(yè)快速發(fā)展的背景下,E. Dold & S?hne KG公司始終緊跟科技潮流,致力于技術(shù)創(chuàng)新。公司投入大量資源研發(fā)新型電子元件和系統(tǒng),以滿足市場對(duì)于高性能、高可靠性產(chǎn)品的需求。通過不斷的技術(shù)創(chuàng)新,E. Dold & S?hne KG公司在行業(yè)內(nèi)樹立了良好的口碑,成為眾多知名企業(yè)的合作伙伴。
E. Dold & S?hne KG公司始建于20世紀(jì)初,當(dāng)時(shí)只是一間小型的電子手工作坊。創(chuàng)始人埃德蒙德·多爾德(Edmund Dold)憑借對(duì)電子技術(shù)的熱愛和精湛的手藝,開始生產(chǎn)簡單的電子元件。隨著時(shí)間的推移,公司逐漸擴(kuò)大規(guī)模,引進(jìn)了先進(jìn)的生產(chǎn)設(shè)備和制造工藝,逐步轉(zhuǎn)型為現(xiàn)代化的電子元件制造商。在這個(gè)過程中,多爾德家族始終秉持著精益求精、追求卓越的精神,為公司的持續(xù)發(fā)展奠定了堅(jiān)實(shí)的基礎(chǔ)。
本帖最后由 jameswangsynnex 于 2015-3-3 19:59 編輯 問題出在最集中的還在于“一機(jī)一盒”。各地在數(shù)字電視整體平移過程中,都會(huì)向居民免費(fèi)贈(zèng)送一臺(tái)基本型機(jī)頂盒,但這臺(tái)機(jī)頂盒只能讓家中的一臺(tái)彩電接收數(shù)字電視信號(hào),如果想讓家中所有的電視 ...… 查看全部問答∨ |
|
設(shè)輸入模擬信號(hào)的最高有效頻率5khz,應(yīng)選用轉(zhuǎn)換時(shí)間為多少的A/D轉(zhuǎn)換器對(duì)它進(jìn)行轉(zhuǎn)換?… 查看全部問答∨ |
|
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 ...… 查看全部問答∨ |
|
向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)妥。 謝謝各位了!… 查看全部問答∨ |
void I2C_Standby_24C(void) //判斷EEPrOM忙否,通過讀取SR1的的二位BUSY的值 { vu16 SR1_Tmp; do { /*起始位*/ I2C_GenerateSTART( ...… 查看全部問答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- Microchip 升級(jí)數(shù)字信號(hào)控制器(DSC)產(chǎn)品線 推出PWM 分辨率和 ADC 速度業(yè)界領(lǐng)先的新器件
- 意法半導(dǎo)體STM32MP23x:突破成本限制的工業(yè)AI應(yīng)用核心
- 意法半導(dǎo)體推出用于匹配遠(yuǎn)距離無線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹莓派進(jìn)行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲(chǔ)html,css,js文件,以及網(wǎng)頁和arduino的通訊
- ESP32 freeRTOS使用測試
- 480Wh/kg!湖南久森半固態(tài)金屬鋰負(fù)極電池即將量產(chǎn)
- 中國首條硫化物固體電解質(zhì)量產(chǎn)線正式落地
- QUT開發(fā)出新的LENS系統(tǒng) 可以讓機(jī)器人進(jìn)行類似大腦的導(dǎo)航
- 毫米波雷達(dá)裝機(jī)量分析:毫米波雷達(dá)裝車量持續(xù)攀升,大陸和博世占據(jù)60%以上市場份額
- TDK推出適用于車載濾波器的同軸電纜供電電感器
- 大摩給“人形機(jī)器人100”清單注入新思路
- 行家預(yù)判:2025年車載Mini LED反超OLED
- 2025數(shù)智未來峰會(huì):深度解讀AI賦能工業(yè)的趨勢與實(shí)踐
- 工業(yè)自動(dòng)化中的Raspberry Pi:簡化經(jīng)濟(jì)實(shí)惠的邊緣計(jì)算
- 意法半導(dǎo)體宣布擴(kuò)大在新加坡的“Lab-in-Fab”廠內(nèi)實(shí)驗(yàn)室合作項(xiàng)目
- 半導(dǎo)體品牌知名度問卷調(diào)查
- 上演你的“ADI實(shí)驗(yàn)室電路”DIY!
- 下載有禮|是德科技電子書 《通過了解測試精度的基礎(chǔ)知識(shí), 提高良率并降低風(fēng)險(xiǎn)》,不做“差不多先生”
- 下載《Altera SoC深度體驗(yàn)》,打分評(píng)論贏好禮
- 【已結(jié)束】 Qorvo、村田、NI直播【UWB最新技術(shù)、方案、市場、應(yīng)用解析】(13:30開始入場)
- TI 最新CapTIvate™ 觸控微控制器技術(shù)直播開始報(bào)名嘍!報(bào)名參與有禮呦!
- 老T叔的藏書閣——一位老工程師多年的資料積累
- 有獎(jiǎng)直播【Keysight World Tech Day 2023分論壇——汽車自動(dòng)駕駛與新能源】
- #最能打國產(chǎn)芯#能打入汽車電子這片地的國產(chǎn)芯,有多少啦?
- 新年新挑戰(zhàn):ST藍(lán)牙開發(fā)板免費(fèi)申請(qǐng)?jiān)u測+挑戰(zhàn)賽(littleshrimp帶隊(duì))
- 數(shù)據(jù)顯示2020年全球汽車顯示屏出貨量達(dá)1.27億片
- 過高的汽車零整比背后,汽車市場正悄然上演漲價(jià)潮
- 51單片機(jī)開發(fā)之定時(shí)器
- 51單片機(jī)程序執(zhí)行流程(STARTUP.A51)
- 【51單片機(jī)】基礎(chǔ)例程|C語言
- 小船機(jī)器人攜手用友秉均發(fā)布全球首款營銷機(jī)器人
- KUKA:人機(jī)協(xié)作是工業(yè)4.0的一個(gè)重要原則
- 決戰(zhàn)CES 2018 i寶機(jī)器人展露崢嶸
- 和平年代 機(jī)器人是怎樣“拯救地球”的?
- Nordic Semiconductor多協(xié)議SoC應(yīng)用于GPS碼表