在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

解析STM32的庫函數(shù)-1

汽車電子技術 ? 來源:嵌入式悅翔園 ? 作者: JamesBin ? 2023-02-17 15:27 ? 次閱讀

一、引言

我們在學習32的過程中,固件庫是個必不可少的東西,因為程序開發(fā)不再是從寄存器層次起始,而要首先去熟悉 STM32 所提供的固件庫。那是否一定要使用固件庫呢?當然不是。但 STM32 微控制器的寄存器規(guī)模可不 是常見的 8 位單片機可以比擬,若自己細細琢磨各個寄存器的意義,必然會消耗相當?shù)臅r間, 并且對于程序后續(xù)的維護,升級來說也會增加資源的消耗。

二、正題

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

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 的程序開發(fā)中經(jīng)常使用到的 GPIO 初始化程序段,其功能是將 GPIOA.4 口 初始化為推挽輸出狀態(tài),并最大翻轉(zhuǎn)速率為 50MHz。下面逐一分解:

首先是O1 ,該語句顯然定義了一個 GPIO_InitTypeDef 類型的變量,名為 GPIO_InitStructure,找出GPIO_InitTypeDef的原型位于

“stm32f10x_gpio.h”文件,原型為如下:

typedef struct
{
u16 GPIO_Pin;
GPIOSpeed_TypeDef GPIO_Speed;
GPIOMode_TypeDef GPIO_Mode;
}GPIO_InitTypeDef;

由此可知 GPIO_InitTypeDef 是一個結(jié)構(gòu)體類型同義字,其功能是定義一個結(jié)構(gòu)體,該結(jié) 構(gòu)體有三個成員分別是 u16 類型的 GPIO_Pin、GPIOSpeed_TypeDef 類型的 GPIO_Speed和 GPIOMode_TypeDef 類 型 的 GPIO_Mode 。繼 續(xù) 探 查 GPIOSpeed_TypeDef 和GPIOMode_TypeDef 類型,在“stm32f10x_gpio.h”文件中找到對 GPIOSpeed_TypeDef 的 定義:

typedef enum
{
 GPIO_Speed_10MHz = 1,
 GPIO_Speed_2MHz,
 GPIO_Speed_50MHz
}GPIOSpeed_TypeDef;

則可知 GPIOSpeed_TypeDef 枚舉類型同一只,其功能是定義一個枚舉類型變量,該變量 可表示 GPIO_Speed_10MHz、GPIO_Speed_2MHz 和 GPIO_Speed_50MHz 三個含義(其中GPIO_Speed_10MHz 已經(jīng)定義為 1,讀者必須知道 GPIO_Speed_2MHz 則依次被編譯器賦予 2,而 GPIO_Speed_50MHz 為 3)。同樣也在“stm32f10x_gpio.h”文件中找到對 GPIOMode_TypeDef 的定義:

typedef enum
{
GPIO_Mode_AIN = 0x0,
GPIO_Mode_IN_FLOATING = 0x04,
 GPIO_Mode_IPD = 0x28,
 GPIO_Mode_IPU = 0x48,
 GPIO_Mode_Out_OD = 0x14,
 GPIO_Mode_Out_PP = 0x10,
 GPIO_Mode_AF_OD = 0x1C,
 GPIO_Mode_AF_PP = 0x18
}GPIOMode_TypeDef;

這同樣是一個枚舉類型同義字,其成員有 GPIO_Mode_AIN、GPIO_Mode_AF_OD 等(也 可以輕易判斷出這表示 GPIO 設備的工作模式)。至此對程序段一的O1 解析可以做一個總結(jié):該行定義一個結(jié)構(gòu)體類型的變量 GPIO_InitStructure,并且該結(jié)構(gòu)體有 3 個成員,分別為 GPIO_Pin、GPIO_Speed 和 GPIO_Mode,并且 GPIO_Pin 表示 GPIO 設備引腳 GPIO_Speed 表示 GPIO 設備速率和 GPIO_Mode 表示 GPIO 設備工作模式。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5343

    瀏覽量

    120348
  • STM32
    +關注

    關注

    2270

    文章

    10900

    瀏覽量

    355985
  • 固件庫
    +關注

    關注

    2

    文章

    97

    瀏覽量

    14940
收藏 人收藏

    評論

    相關推薦

    解析STM32庫函數(shù)——獻給新手

    ,必然會消耗相當?shù)臅r間,并且對于程序后續(xù)的維護,升級來說也會增加資源的消耗。對于當前“時間就是金錢”的行業(yè)競爭環(huán)境,無疑使用庫函數(shù)進行STM32的產(chǎn)品開發(fā)是更好的選擇。本文將通過一個簡單的例子對STM32
    發(fā)表于 10-21 14:16

    解析STM32庫函數(shù)

    本帖最后由 zax1234 于 2012-10-29 22:50 編輯 解析STM32庫函數(shù) 意法半導體在推出 STM32 微控制器之初,也同時提供了一套完整細致的固件開發(fā)包,
    發(fā)表于 10-29 22:36

    解析STM32庫函數(shù)

    解析STM32庫函數(shù)
    發(fā)表于 05-12 09:35

    解析STM32庫函數(shù)(轉(zhuǎn))

    解析STM32庫函數(shù)(轉(zhuǎn)) 獻給新手
    發(fā)表于 11-19 08:39

    STM32開發(fā)指南V1.0 庫函數(shù)版本1

    STM32開發(fā)指南V1.0 庫函數(shù)版本》完美標簽part1
    發(fā)表于 05-30 14:20 ?0次下載

    STM32庫函數(shù)代碼自動生成器V1.2

    stm32庫函數(shù)代碼自動生成器是STM32學習的小工具。 stm32庫函數(shù)代碼自動生成器可以根據(jù)你的配置生成相應的
    發(fā)表于 06-17 17:55 ?0次下載

    STM32庫函數(shù)代碼自動生成器正式版

    STM32庫函數(shù)代碼自動生成器正式版 STM32庫函數(shù)代碼自動生成器正式版
    發(fā)表于 07-25 18:52 ?0次下載

    STM32 IAR的庫函數(shù)資料免費下載

    本文檔的主要內(nèi)容詳細介紹的是STM32 IAR的庫函數(shù)資料免費下載。
    發(fā)表于 03-27 09:48 ?43次下載
    <b class='flag-5'>STM32</b> IAR的<b class='flag-5'>庫函數(shù)</b>資料免費下載

    STM32F4 HAL庫函數(shù)說明下載

    STM32F4 HAL庫函數(shù)說明下載
    發(fā)表于 05-26 09:27 ?78次下載

    STM32F1開發(fā)指南-庫函數(shù)版本_V3.3(上)

    STM32F1開發(fā)指南-庫函數(shù)版本_V3.3(上)
    發(fā)表于 09-28 09:34 ?0次下載

    STM32F1開發(fā)指南-庫函數(shù)版本_V3.3(下)

    STM32F1開發(fā)指南-庫函數(shù)版本_V3.3(下)
    發(fā)表于 09-28 09:36 ?0次下載

    stm32下標準庫函數(shù)與HAL庫函數(shù)編程方式的差異

    stm32下標準庫函數(shù)與HAL庫函數(shù)編程方式的差異標準庫函數(shù)HAL庫函數(shù)標準庫函數(shù)與HAL
    發(fā)表于 12-09 14:21 ?15次下載
    <b class='flag-5'>stm32</b>下標準<b class='flag-5'>庫函數(shù)</b>與HAL<b class='flag-5'>庫函數(shù)</b>編程方式的差異

    基于標準庫函數(shù)與基于HAL庫函數(shù)stm32編程方式對比

    以實例程序(串口通信),分析基于標準庫函數(shù)與基于HAL庫函數(shù)stm32編程方式的差異一、基于標準庫函數(shù)stm32編程方式二、基于HAL
    發(fā)表于 12-28 19:09 ?30次下載
    基于標準<b class='flag-5'>庫函數(shù)</b>與基于HAL<b class='flag-5'>庫函數(shù)</b>的<b class='flag-5'>stm32</b>編程方式對比

    STM32庫函數(shù)開發(fā)-GPIO

    2021-01-11 學習日志STM32f1庫函數(shù)開發(fā)學習實戰(zhàn)一 · I/O口1. 文件夾結(jié)構(gòu)2. 配置細節(jié) · 從寄存器到庫函數(shù)3. 跑馬燈4. 按鍵輸入
    發(fā)表于 01-13 16:17 ?14次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>庫函數(shù)</b>開發(fā)-GPIO

    STM32庫函數(shù)SystemInit()詳解

    STM32庫函數(shù)SystemInit()詳解
    的頭像 發(fā)表于 09-18 15:45 ?4054次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>庫函數(shù)</b>SystemInit()詳解
    主站蜘蛛池模板: 失禁h啪肉尿出来高h| 黄 色 片 在 线 看| 特黄特色三级在线播放| 四虎影视在线看| 国产免费人人看大香伊| 一本大道加勒比久久综合| 可以免费看黄的网址| 乱色伦短篇小说| 无遮挡一级毛片| 国产三级精品最新在线| 免费网站黄成人影院| 啪啪免费看| 四虎在线最新地址公告| 国产色系视频在线观看免费| 国产精品久久女同磨豆腐| 在线视频观看你懂的| 日韩精品一区二区三区毛片| 一级片在线视频| 中文字幕一区二区三区四区五区| 在线观看国产三级| 国产三区视频| 欧美性猛交xxxx乱大交| 亚洲一级免费毛片| 成人特黄午夜性a一级毛片| 1024你懂的国产欧美日韩在| 天堂在线看| 亚洲热热久久九九精品| 午夜性| 久久的色偷偷| 成年美女黄网站色大免费视频| 婷婷天堂| 亚洲午夜精品久久久久| 久久狠狠干| 国产精品igao在线观看樱花日本 | 亚洲国产精品嫩草影院| 国产乱人视频免费播放| 欧美乱妇高清无乱码| 欧美三级视频网| 午夜国产在线| 亚洲一区二区三区在线视频| 欧美午夜在线播放|