一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

撞上電子 ? 2021-08-17 09:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

第一節(jié)HAL_GPIO_Init

函數(shù)原型:

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

函數(shù)解析:

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

形參解析:

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

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

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

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

返回值:

void函數(shù)無返回值。

第二節(jié)HAL_GPIO_DeInit

函數(shù)原型:

void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin);

函數(shù)解析:

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

形參解析:

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

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

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

返回值:

void函數(shù)無返回值。

第三節(jié)HAL_GPIO_ReadPin

函數(shù)原型:

GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);

函數(shù)解析:

該函數(shù)是GPIO讀函數(shù),將GPIO的電平狀態(tài)讀取出來,一般讀取之后,就明白該GPIO的狀態(tài)了。

形參解析:

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

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

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

返回值:

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

第四節(jié)HAL_GPIO_WritePin

函數(shù)原型:

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

函數(shù)解析:

該函數(shù)是GPIO寫函數(shù),通過該函數(shù)操作GPIO的狀態(tài)。

形參解析:

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

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

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

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

返回值:

void函數(shù)無返回值。

第五節(jié)HAL_GPIO_TogglePin

函數(shù)原型:

void HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);

函數(shù)解析:

該函數(shù)是GPIO引腳電平狀態(tài)的翻轉(zhuǎn)函數(shù),通過該函數(shù)操作GPIO的電平的狀態(tài)的翻轉(zhuǎn)。

形參解析:

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

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

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

返回值:

void函數(shù)無返回值。

第六節(jié)HAL_GPIO_LockPin

函數(shù)原型:

HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin);

函數(shù)解析:

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

形參解析:

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

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

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

返回值:

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

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

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

第七節(jié)HAL_GPIO_EXTI_IRQHandler

函數(shù)原型:

void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin);

函數(shù)解析:

外部中斷服務函數(shù),用來響應外部中斷的觸發(fā)。

形參解析:

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

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

返回值:

void函數(shù)無返回值。

第八節(jié)HAL_GPIO_EXTI_Callback

函數(shù)原型:

__weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin);

函數(shù)解析:

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

形參解析:

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

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

返回值:

該函數(shù)無返回值。

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

往期精彩

【1】開發(fā)板開獎通知

【2】【藍橋杯物聯(lián)網(wǎng)】第四章 點亮一個LED

【3】【藍橋杯物聯(lián)網(wǎng)】第三章 stm32l0xx_hal_gpio.c的常見函數(shù)

【4】【藍橋杯物聯(lián)網(wǎng)】第一章 了解開發(fā)板

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

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

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

點個在看你最好看

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

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

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

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

    關(guān)注

    1

    文章

    129

    瀏覽量

    10459
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    嵌入式開發(fā)入門指南:從零開始學習嵌入式

    基礎(chǔ) 3. 學習路徑推薦第一階段:熟悉開發(fā)環(huán)境(如Keil、IAR、STM32第二階段:掌握裸機編程與驅(qū)動開發(fā)第三階段:學習RTOS(實時操作系統(tǒng))如FreeRTOS第四階段:深入理解Linux嵌入式
    發(fā)表于 05-15 09:29

    STM32開發(fā)入門進階必備!《STM32嵌入式系統(tǒng)開發(fā)—基于STM32CubeMX和HAL庫》新書發(fā)布!

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

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

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

    藍橋該如何備賽?

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

    HAL庫的函數(shù)調(diào)用示例

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

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

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

    HAL庫在嵌入式系統(tǒng)中的應用

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

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

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

    《AI for Science:人工智能驅(qū)動科學創(chuàng)新》第二章AI for Science的技術(shù)支撐學習心得

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

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

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

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

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

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

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

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

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

    學習hypervisor嵌入式產(chǎn)品安全設(shè)計

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

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

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