今天學習stm32流水燈程序的時候,看到了“GPIO_Init(GPIOB, &GPIO_InitStructure)”這個函數,參數1”GPIOB“很好理解,就是GPIO的外設口B(也可以是A,C,D,E),第二個參數有點不理解,于是查看了下庫函數手冊,該函數原型是這樣的:
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)
功能描述:根據GPIO_InitStruct中指定的參數初始化外設GPIOx寄存器
輸入參數1:GPIOx:x可以是A,B,C,D或者E,來選擇GPIO外設
輸入參數2:GPIO_InitStruct:指向結構GPIO_InitTypeDef的指針,包含了外設GPIO的配置信息
由此我們知道第二個參數“&GPIO_InitStructure”包含的是外設GPIO的配置信息,主函數開頭我們進行了這樣一個私有數據聲明:
GPIO_InitTypeDef GPIO_InitStructure;
順藤摸瓜,我們在頭文件“stm32f10x_gpio.h”看到對GPIO_InitTypeDef 的定義:
typedef struct
{
uint32_t GPIO_Pin;
GPIOMode_TypeDef GPIO_Mode;
GPIOSpeed_TypeDef GPIO_Speed;
GPIOOType_TypeDef GPIO_OType;
GPIOPuPd_TypeDef GPIO_PuPd;
}GPIO_InitTypeDef;
在這個之前,我已經對GPIO_InitTypeDef中的各個參數進行了定義,對應的正是void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)輸入參數2的描述“指向結構GPIO_InitTypeDef的指針,包含了外設GPIO的配置信息”。
至此,我們便可以理解GPIO_Init初始化寄存器的大概步驟了,即將你事先設定好的參數告訴你要用到的外設(或者說外設對應的寄存器。stm32強大的庫函數可以讓你擺脫復雜冗余的底層寄存器操作。)很簡單有木有,相對51只能進行寄存器底層操作,這種函數庫的運用真心感覺強大方便。
上一篇:stm32通過電調帶動電機(可按鍵調速)
下一篇:淺談鏈表對stm32等芯片程序中的提升作用(C語言)
推薦閱讀
史海拾趣
CUI公司在發展過程中,始終注重市場拓展和品牌建設。公司通過與國內外知名企業的合作,不斷拓寬產品應用領域,提升品牌影響力。同時,公司還積極參加各類行業展會和交流活動,與同行和客戶建立緊密的合作關系,為公司的長期發展奠定了堅實的基礎。
HEICO Corporation在電子技術領域的成功離不開其對技術創新的重視。公司不斷推出新產品,如大功率電容器充電電源、行波管放大器、光電探測器等,這些產品以其卓越的性能和可靠性贏得了市場的廣泛認可。同時,HEICO還致力于提升生產效率和產品質量,通過引入先進的生產設備和工藝,確保產品能夠按時交付并滿足客戶的嚴格要求。這種技術創新和品質保證的策略,使得HEICO在電子行業中保持了領先地位。
隨著電子產品的不斷小型化和集成化,表面貼裝技術(SMT)成為了電子制造行業的重要趨勢。Hendon Semiconductors緊跟這一趨勢,不斷提升其表面貼裝和精密制造能力。公司引進了先進的生產設備和測試儀器,確保產品的質量和可靠性。同時,Hendon Semiconductors還加強了對生產過程的監控和管理,通過嚴格的質量控制體系確保每一片電路板都符合客戶的要求。
隨著環保意識的提高,Datatronic公司開始探索綠色發展的道路。公司注重節能減排和資源循環利用,通過改進生產工藝和使用環保材料等方式降低對環境的影響。同時,公司還積極推廣綠色產品和技術,引導客戶樹立綠色消費觀念。這些努力使得Datatronic公司在環保方面取得了顯著成效,贏得了社會的廣泛贊譽。
隨著電子技術的快速發展,ETI意識到只有不斷創新才能在競爭中立于不敗之地。公司加大了對研發的投入,積極引進國內外先進技術,并鼓勵員工提出創新性的想法。在一次偶然的實驗中,ETI的研發團隊成功研發出了一種具有高效能、低功耗特點的電子元器件,這一突破性的技術成果迅速獲得了市場的認可,為ETI帶來了可觀的收益。
在短短幾年內,聚洵半導體實現了業績的快速增長。據公司董事長兼總經理張智才介紹,在2020年這一特殊年份,聚洵依然實現了業績增長500%的佳績,累計出貨量超過2億顆,成交客戶數量達500多家。這一成績不僅彰顯了聚洵在產品研發和市場銷售方面的實力,也贏得了業界的廣泛認可。公司的典型終端客戶包括美的、格蘭仕、小米等知名品牌,進一步證明了聚洵產品在市場上的競爭力和影響力。
為什么要在CPU里運行操作系統? 簡單的說, 就像PC上使用Windows操作系統一樣, 它負責底層的東西,如各種硬件接口,內存管理,資源分配等等,沒有操作系統,是不可能完成這么復雜的功能的. 使用操作系統的好處主要有: (1)操作系統提供庫函數、底層 ...… 查看全部問答∨ |
急!!!!WINCE直接連接SQL SERVER2000(RDA 除外),誰有方案?分不是問題 之前用C#做過一個,直接連接SQL SERVER2000,速度很慢.由于客戶方面要求不能有任何延遲.所以放棄了. 發現.NET的東西.怎么做速度都比上VB,DELPHI,VC 之后又研究了EVB和EVC,但是都沒有直接連接SQL SERVER2000的方案. 每個都要去用IIS,我個人非常不想 ...… 查看全部問答∨ |
嵌入式考題尋高手(論述題). (分不夠可以再開新貼加,百分百結貼) 1. 根據圖1說明S3C2410中斷系統中各寄存器的主要功能。(8分) 圖1 S3C2410中斷系統構成 2. 什么是優先級反轉?在ucos中是如何解決的,并舉例說明。(8分) 3. &nb ...… 查看全部問答∨ |
剛剛開始搞這個cpu,遇到一個問題,有一塊板子,連仿真器一直正常,頭幾天燒寫程序,程序有問題,燒進去不跑,連仿真器單步調,調了一會,CCS3.3報錯。結果發現之后再也連不上仿真器了。一連仿真器,就報這樣的錯誤: error connecting to target ...… 查看全部問答∨ |
程序在初始化后用do...while實時采樣直流電壓,當直流電壓達到一定值時跳出do...while循環繼續往下運行;調試程序時發現: 如果先加直流采樣信號,再通過仿真器運行程序,這種情況下AD采樣值是正確的; 如果先通過仿 ...… 查看全部問答∨ |
想用線陣CCD做東西, 不知道各位高手,能不能透露一點有關線陣CCD的東西。 常用的是哪個公司的?哪一款(型號)比較穩定,也容易上手? 謝謝大家的相告。… 查看全部問答∨ |
本帖最后由 dontium 于 2015-1-23 11:41 編輯 LDC是電感數字轉換器,可將電感量直接轉換成數字信號輸出,可應用于位置和運動傳感。LC諧振回路用作傳感器,諧振回路的振蕩頻率用來測電感。這種方法可以實現更高的分辨率,亞微米級分辨率,確實具有 ...… 查看全部問答∨ |
|
CAN控制器即使在發送數據的同時也在監控總線電平狀態,即當在仲裁時,當控制器發送隱性電平但檢測到總線為顯性電平時,節點仲裁失敗,轉為接收節點。 這句話中 “當控制器發送隱性電平但檢測到總線為顯性電平時,節點仲裁失敗,轉為接 ...… 查看全部問答∨ |
這段代碼為什么要紅色一段代碼和不要那段代碼,效果一樣啊?哪位高手能指點一下? #include "msp430x14x.h" #define uchar unsigned char #define uint unsigned int uchar num[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x ...… 查看全部問答∨ |
設計資源 培訓 開發板 精華推薦
- 利用驗證框架 JAIST揭示開源自動駕駛系統的安全漏洞
- 現代汽車集團擬采用VR模擬器替代道路測試 提升未來車型的競爭力
- 研究人員開發光驅動致動器 可用于驅動水下機器人
- 吉利將發射“千里浩瀚”衛星,實現輔助駕駛系統與衛星功能深度融合
- 以鴻道工業操作系統為核心 打造工業智能機器人新生態
- UNIST研發出新表面處理技術 延長下一代鋰金屬電池的壽命
- 車載SerDes芯片行業的"DeepSeek"時刻——瑞發科HSMT SerDes閃耀2025上海車展
- 豐田顛覆傳統,固態電池明年就能量產,最受傷的將是中國?
- 基于恩智浦與onsemi的駕駛員監控系統方案
- 機器人行業周報|5月27日:宇樹G1格斗賽、人形機器人技術與場景融合趨勢