新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 解析STM32的庫函數

        解析STM32的庫函數

        作者: 時間:2016-11-20 來源:網絡 收藏
        意法半導體在推出STM32微控制器之初,也同時提供了一套完整細致的固件開發包,里面包含了在STM32開發過程中所涉及到的所有底層操作。通過在程序開發中引入這樣的固件開發包,可以使開發人員從復雜冗余的底層寄存器操作中解放出來,將精力專注應用程序的開發上,這便是ST推出這樣一個開發包的初衷。


        但這對于許多從51/AVR這類單片機的開發轉到STM32平臺的開發人員來說,勢必有一個不適應的過程。因為程序開發不再是從寄存器層次起始,而要首先去熟悉STM32所提供的固件庫。那是否一定要使用固件庫呢?當然不是。但STM32微控制器的寄存器規模可不是常見的8位單片機可以比擬,若自己細細琢磨各個寄存器的意義,必然會消耗相當的時間,并且對于程序后續的維護,升級來說也會增加資源的消耗。對于當前“時間就是金錢”的行業競爭環境,無疑使用庫函數進行STM32的產品開發是更好的選擇。本文將通過一個簡單的例子對STM32的庫函數做一個簡單的剖析。

        本文引用地址:http://www.104case.com/article/201611/318959.htm


        以最常用的GPIO設備的初始化函數為例,如下程序段一:


        GPIO_InitTypeDef GPIO_InitStructure; 1


        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; 2


        GPIO_InitStructure.GPIO_Speed =
        GPIO_Speed_50MHz; 3


        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 4


        GPIO_Init(GPIOA , &GPIO_InitStructure);
        5


        這是一個在STM32的程序開發中經常使用到的GPIO初始化程序段,其功能是將GPIOA.4口初始化為推挽輸出狀態,并最大翻轉速率為50MHz。下面逐一分解:


        l 首先是1,該語句顯然定義了一個GPIO_InitTypeDef類型的變量,名為GPIO_InitStructure,則找出GPIO_InitTypeDef的原型位于“stm32f10x_gpio.h”文件,原型如下:


        typedef struct


        {


        u16 GPIO_Pin;


        GPIOSpeed_TypeDef GPIO_Speed;


        GPIOMode_TypeDef GPIO_Mode;


        }GPIO_InitTypeDef;



        關鍵詞: STM32庫函

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 柏乡县| 嘉峪关市| 门头沟区| 囊谦县| 兰州市| 长春市| 澄江县| 新巴尔虎左旗| 元江| 原平市| 乐安县| 大余县| 卫辉市| 固始县| 福清市| 长丰县| 涞源县| 亳州市| 静乐县| 中西区| 怀化市| 望江县| 治多县| 信宜市| 永吉县| 宁南县| 黄山市| 龙陵县| 乌拉特后旗| 喀喇沁旗| 永川市| 平乡县| 商河县| 富民县| 江安县| 云南省| 鄂温| 阳城县| 盐城市| 永安市| 大邑县|