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

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

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

3天內不再提示

【藍橋杯嵌入式G4】第二章 stm32l0xx_hal_gpio.c的常見函數

撞上電子 ? 2021-08-17 09:53 ? 次閱讀

本章將介紹幾個在比賽中常見的函數,這幾個函數都是非常簡單,關系到LED,按鍵,繼電器等簡單的外設。

第一節HAL_GPIO_Init

函數原型:

void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init);

函數解析:

這個是GPIO的初始化的函數,這個函數主要用來初始化我們需要用到的引腳的工作模式,包括具體引腳的工作速度、是否復用模式、上下拉等等參數。

形參解析:

一共兩名形參,該形參的具體功能如下:

GPIO_TypeDef *GPIOx:該形參是對GPIO的類型的定義,比如:GPIOA,GPIOC等等。

GPIO_InitTypeDef *GPIO_Init:該形參是對結構體GPIO_InitTypeDef的指針的初始化,包含了外設GPIO的配置信息,比如GPIO引腳,模式,速度等等。該配置信息如下:(見stm32l0xx_hal_gpio.h)

cc93326e-fc50-11eb-8f0a-000c2944909e.png

返回值:

void函數無返回值。

第二節HAL_GPIO_DeInit

函數原型:

void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin);

函數解析:

該函數是承接HAL_GPIO_Init函數的,將初始化之后的引腳恢復成默認的狀態,即各個寄存器復位時的值。

形參解析:

一共兩名形參,該形參的具體功能如下:

GPIO_TypeDef *GPIOx:該形參是對GPIO的類型的定義,比如:GPIOA,GPIOC等等。

uint32_t GPIO_Pin:該形參是對GPIO引腳的定義,比如:GPIO_PIN_14,GPIO_PIN_15等等。

返回值:

void函數無返回值。

第三節HAL_GPIO_ReadPin

函數原型:

GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);

函數解析:

該函數是GPIO讀函數,將GPIO的電平狀態讀取出來,一般讀取之后,就明白該GPIO的狀態了。

形參解析:

一共兩名形參,該形參的具體功能如下:

GPIO_TypeDef *GPIOx:該形參是對GPIO的類型的定義,比如:GPIOA,GPIOC等等。

uint16_t GPIO_Pin:該形參是對GPIO引腳的定義,比如:GPIO_PIN_14,GPIO_PIN_15等等。

返回值:

如果讀取到高電平,返回GPIO_PIN_SET;如果是低電平,返回GPIO_PIN_RESET。

第四節HAL_GPIO_WritePin

函數原型:

void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);

函數解析:

該函數是GPIO寫函數,通過該函數操作GPIO的狀態。

形參解析:

一共三名形參,該形參的具體功能如下:

GPIO_TypeDef *GPIOx:該形參是對GPIO的類型的定義,比如:GPIOA,GPIOC等等。

uint16_t GPIO_Pin:該形參是對GPIO引腳的定義,比如:GPIO_PIN_14,GPIO_PIN_15等等。

GPIO_PinState PinState:該形參是對GPIO引腳的電平狀態的定義,如果是GPIO_PIN_SET,那么對該GPIO賦值為高電平;如果是GPIO_PIN_RESET,那么對該GPIO賦值為底電平。

返回值:

void函數無返回值。

第五節HAL_GPIO_TogglePin

函數原型:

void HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);

函數解析:

該函數是GPIO引腳電平狀態的翻轉函數,通過該函數操作GPIO的電平的狀態的翻轉。

形參解析:

一共兩名形參,該形參的具體功能如下:

GPIO_TypeDef *GPIOx:該形參是對GPIO的類型的定義,比如:GPIOA,GPIOC等等。

uint16_t GPIO_Pin:該形參是對GPIO引腳的定義,比如:GPIO_PIN_14,GPIO_PIN_15等等。

返回值:

void函數無返回值。

第六節HAL_GPIO_LockPin

函數原型:

HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);

函數解析:

該函數是GPIO引腳電平狀態的鎖存函數,使用該函數之后,將鎖定GPIO的狀態,寫函數也無法改變,除非重置。

形參解析:

一共兩名形參,該形參的具體功能如下:

GPIO_TypeDef *GPIOx:該形參是對GPIO的類型的定義,比如:GPIOA,GPIOC等等。

uint16_t GPIO_Pin:該形參是對GPIO引腳的定義,比如:GPIO_PIN_14,GPIO_PIN_15等等。

返回值:

由結構體HAL_StatusTypeDef(如下圖,stm32l0xx_hal_def.h)可知,如果鎖存成功,返回HAL_OK(0x00U),如果失敗,返回HAL_ERROR(0x01U)。

ccafe226-fc50-11eb-8480-000c2944909e.png

需要注意的是,只能返回這兩種值,即使該寄存器有四個變量。為什么呢?仔細看HAL_GPIO_LockPin函數的最后看明白了。

第七節HAL_GPIO_EXTI_IRQHandler

函數原型:

void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin);

函數解析:

外部中斷服務函數,用來響應外部中斷的觸發。

形參解析:

一共一名形參,該形參的具體功能如下:

uint16_t GPIO_Pin:該形參是對GPIO引腳的定義,比如:GPIO_PIN_14,GPIO_PIN_15等等。

返回值:

void函數無返回值。

第八節HAL_GPIO_EXTI_Callback

函數原型:

__weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin);

函數解析:

該函數是回調函數,說白了就是中斷之后,需要什么功能,就寫在這個函數里面。至于__weak,它是一個弱化標識,帶有這個的函數就是一個弱化函數,就是你可以在其他地方寫一個名稱和參數都一模一樣的函數,編譯器就會忽略這一個函數,而去執行你寫的那個函數。

形參解析:

一共一名形參,該形參的具體功能如下:

uint16_t GPIO_Pin:該形參是對GPIO引腳的定義,比如:GPIO_PIN_14,GPIO_PIN_15等等。

返回值:

該函數無返回值。

ccbe1aae-fc50-11eb-8210-000c2944909e.png

往期精彩

【1】開發板開獎通知

【2】【藍橋杯物聯網】第四章 點亮一個LED

【3】【藍橋杯物聯網】第三章 stm32l0xx_hal_gpio.c的常見函數

【4】【藍橋杯物聯網】第一章 了解開發板

【5】藍橋杯單片機文檔教程免費下載

ccd0a6a8-fc50-11eb-8976-000c2944909e.png

ccd94e42-fc50-11eb-9714-000c2944909e.png

點個在看你最好看

ccdfb6e8-fc50-11eb-ae40-000c2944909e.png

原文標題:【藍橋杯嵌入式G4】第二章 stm32l0xx_hal_gpio.c的常見函數

文章出處:【微信公眾號:撞上電子】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 藍橋杯
    +關注

    關注

    1

    文章

    129

    瀏覽量

    10364
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    STM32開發入門進階必備!《STM32嵌入式系統開發—基于STM32CubeMX和HAL庫》新書發布!

    近日,由華清遠見教育科技集團精心編撰的教育部高等學校電子信息類專業教學指導委員會規劃教材、普通高等教育電子信息類專業系列教材——《STM32嵌入式系統開發—基于STM32CubeMX和HAL
    的頭像 發表于 04-03 14:54 ?408次閱讀
    <b class='flag-5'>STM32</b>開發入門進階必備!《<b class='flag-5'>STM32</b><b class='flag-5'>嵌入式</b>系統開發—基于<b class='flag-5'>STM32</b>CubeMX和<b class='flag-5'>HAL</b>庫》新書發布!

    嵌入式教育科普|GPIO接口全面解析

    知識的掌握直接影響著嵌入式項目實現功能的成效。本文將以GPIO接口為切入點,深入解析其工作原理與技術特性,希望能幫助屏幕前想要學習嵌入式開發的小伙伴建立嵌入式接口的
    的頭像 發表于 03-05 11:11 ?1388次閱讀
    <b class='flag-5'>嵌入式</b>教育科普|<b class='flag-5'>GPIO</b>接口全面解析

    藍橋該如何備賽?

    藍橋物聯網已經換了三次開發板了,每次換板子,題目難度都會降低不少,所以說,藍橋物聯網在藍橋
    的頭像 發表于 12-19 21:02 ?1179次閱讀
    <b class='flag-5'>藍橋</b><b class='flag-5'>杯</b>該如何備賽?

    HAL庫的函數調用示例

    GPIO(通用輸入輸出)相關函數 GPIO初始化 c復制代碼GPIO_InitTypeDef GPIO
    的頭像 發表于 12-02 14:01 ?1251次閱讀

    如何快速入門HAL庫編程 HAL庫與裸機編程的比較

    如何快速入門HAL庫編程 要快速入門HAL庫編程,可以遵循以下步驟: 了解基礎知識 : 掌握C語言編程基礎,包括變量、數據類型、函數、指針等。 了解
    的頭像 發表于 12-02 11:39 ?904次閱讀

    HAL庫在嵌入式系統中的應用

    HAL庫(Hardware Abstraction Layer Library,硬件抽象層庫)在嵌入式系統中扮演著至關重要的角色。以下是HAL庫在嵌入式系統中的應用的分析: 一、
    的頭像 發表于 12-02 11:32 ?1690次閱讀

    意法半導體STM32支持RT-Thread開源4+服務,助力企業用戶加速嵌入式開發

    嵌入式系統和物聯網技術的快速發展使得企業對高效、穩定的嵌入式解決方案需求愈加迫切。STM32加入RT-Thread開源4+服務生態,這一合作將幫助S
    的頭像 發表于 11-26 01:04 ?758次閱讀
    意法半導體<b class='flag-5'>STM32</b>支持RT-Thread開源<b class='flag-5'>4</b>+服務,助力企業用戶加速<b class='flag-5'>嵌入式</b>開發

    《AI for Science:人工智能驅動科學創新》第二章AI for Science的技術支撐學習心得

    非常高興本周末收到一本新書,也非常感謝平臺提供閱讀機會。 這是一本挺好的書,包裝精美,內容詳實,干活滿滿。 關于《AI for Science:人工智能驅動科學創新》第二章“AI
    發表于 10-14 09:16

    【「嵌入式Hypervisor:架構、原理與應用」閱讀體驗】+第一二讀后感

    類型和產品,以及嵌入式Hypervisor的基礎知識,這些內容讓我對Hypervisor的應用領域有了更廣泛的認識。 接著,第二章詳細對比了兩種嵌入式Hypervisor的實現方式:基于分離內核
    發表于 10-09 18:22

    【北京迅為】《stm32mp157開發板嵌入式linux開發指南》第五 Ubuntu使用apt-get下載

    【北京迅為】《stm32mp157開發板嵌入式linux開發指南》第五 Ubuntu使用apt-get下載
    的頭像 發表于 09-03 16:26 ?1050次閱讀
    【北京迅為】《<b class='flag-5'>stm32</b>mp157開發板<b class='flag-5'>嵌入式</b>linux開發指南》第五<b class='flag-5'>章</b> Ubuntu使用apt-get下載

    【北京迅為】itop-龍芯2k1000 sylixos 嵌入式實時系統燒寫手冊-第一第二章 詳細步驟

    【北京迅為】itop-龍芯2k1000 sylixos 嵌入式實時系統燒寫手冊-第一第二章 詳細步驟
    的頭像 發表于 08-26 14:18 ?1007次閱讀
    【北京迅為】itop-龍芯2k1000 sylixos <b class='flag-5'>嵌入式</b>實時系統燒寫手冊-第一<b class='flag-5'>章</b>與<b class='flag-5'>第二章</b> 詳細步驟

    【「ARM MCU嵌入式開發 | 基于國產GD32F10x芯片」閱讀體驗】+書籍整體概況

    是國產芯片的佼佼者,此書籍深入淺出地講解了嵌入式系統開發的基礎知識,當然閱讀者還是需要掌握一定的C語言知識的,案例是基于GD官方的標準庫函數實現的。 四、目錄展示 第一為概述內容,主
    發表于 08-25 22:48

    學習hypervisor嵌入式產品安全設計

    第一部分(第1~2)介紹Hypervisor基礎,涵蓋虛擬化技術與實現、主流的嵌入式Hypervisor產品,以及基于分離內核的嵌入式Hypervisor等內容。第二部分(第3~12
    發表于 08-25 09:11

    第12-ADC采集電壓和顯示 基于STM32的ADC—電壓采集(詳細講解+HAL庫)

    第12-ADC采集電壓和顯示 基于STM32的ADC—電壓采集(詳細講解+HAL庫)
    的頭像 發表于 08-21 16:31 ?4586次閱讀
    第12<b class='flag-5'>章</b>-ADC采集電壓和顯示 基于<b class='flag-5'>STM32</b>的ADC—電壓采集(詳細講解+<b class='flag-5'>HAL</b>庫)

    手把手帶你移植HAL函數

    開發者更高效地進行嵌入式開發。手把手帶你移植HAL函數HAL庫提供了一套抽象接口,使開發者無需直接操作底層硬件寄存器,就能實現對硬件的控制。這種抽象使得代碼能夠更
    的頭像 發表于 05-18 08:04 ?2954次閱讀
    手把手帶你移植<b class='flag-5'>HAL</b>庫<b class='flag-5'>函數</b>
    主站蜘蛛池模板: 免费精品美女久久久久久久久 | 黑人边吃奶边扎下面激情视频 | 天天射日日操 | 天堂中文在线网 | 最新亚洲情黄在线网站 | 国产caob | 激情综合亚洲 | 国产网红精品 | 国产免费播放一区二区三区 | 农村三级毛片 | 色婷婷色婷婷 | 天堂在线免费视频 | 午夜色a大片在线观看免费 午夜色大片在线观看 | 国产精品美女在线 | 色综合五月婷婷 | 天天插一插 | 业余性自由色xxxx视频 | 日本特黄特色aaa大片免费欧 | aaa亚洲 | 中国xxxxx高清免费看视频 | 在线观看s色 | 人人干国产 | 香蕉操| 99热在线获取最新地址 | 黄a级免费 | 国产黄色在线视频 | 狠狠操欧美 | 亚洲不卡免费视频 | 四虎网站最新网址 | 成人午夜网址 | 五月婷婷一区二区 | 生活片一级性 | 熊出没之环球大冒险旧版免费观看 | a色在线 | 夜夜爱夜夜做 | 一丝不遮视频免费观看 | 自偷自拍亚洲欧美清纯唯美 | 在线免费观看91 | 操操操天天操 | 女人aaaaa片一级一毛片 | 欧美性天天影视 |