国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

ca738a36-f862-11eb-a0cf-000c2944909e.gif

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

第一節HAL_GPIO_Init

函數原型:

voidHAL_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)

cad1b110-f862-11eb-abe6-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_PinStateHAL_GPIO_ReadPin(GPIO_TypeDef*GPIOx,uint16_tGPIO_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

函數原型:

voidHAL_GPIO_WritePin(GPIO_TypeDef*GPIOx,uint16_tGPIO_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)。

caf793b0-f862-11eb-9162-000c2944909e.png

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

第七節HAL_GPIO_EXTI_IRQHandler

函數原型:

voidHAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin);

函數解析:

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

形參解析:

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

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

返回值:

void函數無返回值。

第八節HAL_GPIO_EXTI_Callback

函數原型:

__weakvoid HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin);

函數解析:

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

形參解析:

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

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

返回值:

該函數無返回值。

cb02f7a8-f862-11eb-9171-000c2944909e.png

往期精彩

【1】【藍橋杯物聯網】第二章 軟件環境搭建

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

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

【4】

【5】【藍橋杯單片機】第十六章 獨立按鍵(松開有效)

cb0888be-f862-11eb-923c-000c2944909e.png

原文標題:【藍橋杯物聯網】第三章 stm32l0xx_hal_gpio.c的常見函數

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

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

    關注

    1

    文章

    130

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    STM32L072xx:超低功耗32位MCU的設計指南與應用潛力

    STM32L072xx:超低功耗32位MCU的設計指南與應用潛力 在當今電子設備追求低功耗、高性能的時代,STM32L072xx系列微控制器憑借其卓越的特性脫穎而出,成為眾多應用領域的理想選擇。本文
    的頭像 發表于 03-02 17:15 ?594次閱讀

    STM32L072xx系列微控制器:低功耗設計的優選之選

    STM32L072RBT6.pdf 一、產品概述 STM32L072xx是一系列超低功耗的32位微控制器,基于Arm? Cortex? - M0+內核,提
    的頭像 發表于 02-28 11:35 ?267次閱讀

    國民技術榮獲維科·OFweek 2025聯網行業優秀解決方案獎

    12月19日,國民技術股份有限公司憑借 “NSTurnkey-SmartToken:基于N32S0xx安全芯片的一站式交鑰匙方案” ,在“維科·OFweek 2025聯網行業年度評
    的頭像 發表于 12-28 11:49 ?585次閱讀
    國民技術榮獲維科<b class='flag-5'>杯</b>·OFweek 2025<b class='flag-5'>物</b><b class='flag-5'>聯網</b>行業優秀解決方案獎

    【「高速數字設計(基礎篇)」閱讀體驗】+二三章閱讀

    電平越來越低,最終傳輸高電平低于B們的高電平最低值,造成了失真。后面講解如何估算74HC04可以扇出多少個邏輯門。 第三章講解信號在傳出過程中是有時延的,需要經過電容器充放電過程。 這個上升曲線越陡,代表
    發表于 11-06 21:52

    學習聯網怎么入門?

    的相關書籍和視頻進行學習。也可以通過參加線下班、工作坊和實踐活動來學習。不同的學習方式適合不同的人群,初學者可以根據自己的實際情況選擇適合自己的學習方式。   第三,進行實踐操作是入門學習聯網
    發表于 10-14 10:34

    常見聯網連接方式有哪些?

    常見聯網連接方式
    發表于 09-08 08:26

    詳解hal_entry入口函數

    當使用RTOS時,程序從main函數開始進行線程調度;當沒有使用RTOS時,C語言程序的入口函數main函數調用了hal_entry
    的頭像 發表于 07-25 15:34 ?1998次閱讀

    【「DeepSeek 核心技術揭秘」閱讀體驗】第三章:探索 DeepSeek - V3 技術架構的奧秘

    一、模型架構 在閱讀第三章關于 DeepSeek 的模型架構部分時,我仿佛打開了一扇通往人工智能核心構造的大門。從架構圖中,能清晰看到 Transformer 塊、前饋神經網絡、注意力機制等模塊
    發表于 07-20 15:07

    初級工程師PCB設計技巧(PPT版)

    目錄第一:PCB 概述第二:PCB 設計流程及PCB Layout 設計第三章: PROTEL 常用操作第四: PCB Layout 技巧 獲取完整文檔資料可下載附件哦?。。。?
    發表于 06-26 15:50

    復旦微低功耗mcuFM33A0xx系列代理供應

    的RTC、ADC、AES以及UART、I2C、SPI、7816等通用外設接口。 應用領域: 國內/海外單、相智能電表 IR46智能單、相電表
    發表于 06-12 18:03

    《ESP32S3 Arduino開發指南》第三章 C/C++語言基礎

    第三章 C/C++語言基礎 C/C++語言是國際上廣泛流行的計算機高級語言。在進行絕大多數的硬件開發時,均使用
    發表于 06-10 09:20

    第三章 開發環境搭建

    本章介紹了W55MH32開發環境搭建。常用工具 KEIL MDK功能強大,安裝需注意路徑等要點并安裝芯片包。還講解MDK5使用技巧,如文本美化、語法檢測、代碼編輯等實用功能。
    的頭像 發表于 05-26 09:40 ?1126次閱讀
    <b class='flag-5'>第三章</b> 開發環境搭建

    第三章 仿真器介紹

    本篇文章我們介紹了W55MH32板載的WIZ-Link仿真器的使用方法,讓我們一起插上USB線開始下載、調試程序吧!
    的頭像 發表于 05-21 11:54 ?925次閱讀
    <b class='flag-5'>第三章</b> 仿真器介紹

    第三章 警報聯動】手把手教你玩轉新版正點原子云

    本帖最后由 jf_85110202 于 2025-3-13 14:43 編輯 【第三章 警報聯動】手把手教你玩轉新版正點原子云 新版原子云網址:原子云(點擊登錄原子云) 原子云特色功能:設置
    發表于 03-12 16:05

    使用STM32L476RCT6 HAL_FLASHEx_Erase()函數,擦除失敗的原因?

    MCU型號: STM32L476RCT6 大家有用過 HAL_FLASHEx_Erase() 這個函數嗎? 我根據官方例程寫的代碼,讀寫都能成功,但是擦除失敗。調用擦除函數
    發表于 03-10 06:14