日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STM32F4 HAL库开发 -- GPIO

發布時間:2025/3/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32F4 HAL库开发 -- GPIO 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這種外設都之前都講過了,專欄:stm32庫開發實戰指南
但是使用STM32CubeMX該配置配置呢??接下來看一下。

一、GPIO簡介

STM32F4 的 IO 可以由軟件配置成如下 8 種模式中的任何一種:
1、 輸入浮空
2、 輸入上拉
3、 輸入下拉
4、 模擬輸入
5、 開漏輸出
6、 推挽輸出
7、 推挽式復用功能
8、 開漏式復用功能

詳細參看:STM32開發 – GPIO詳解

二、 相關函數

1、HAL_GPIO_Init 函數

void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init)

第一個參數:用來指定需要初始化的GPIO對應的GPIO組,取值范圍是GPIOA ~ GPIOK。
第二個參數:為初始化參數結構體指針,結構體類型為 GPIO_InitTypeDef 。

/** * @brief GPIO Init structure definition */ typedef struct {uint32_t Pin; /*!< Specifies the GPIO pins to be configured.This parameter can be any value of @ref GPIO_pins_define */uint32_t Mode; /*!< Specifies the operating mode for the selected pins.This parameter can be a value of @ref GPIO_mode_define */uint32_t Pull; /*!< Specifies the Pull-up or Pull-Down activation for the selected pins.This parameter can be a value of @ref GPIO_pull_define */uint32_t Speed; /*!< Specifies the speed for the selected pins.This parameter can be a value of @ref GPIO_speed_define */uint32_t Alternate; /*!< Peripheral to be connected to the selected pins. This parameter can be a value of @ref GPIO_Alternate_function_selection */ }GPIO_InitTypeDef;

初始化 GPIO 的常用格式是:

GPIO_InitTypeDef GPIO_Initure; GPIO_Initure.Pin=GPIO_PIN_0; //PB0 GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP; //推挽輸出 GPIO_Initure.Pull=GPIO_PULLUP; //上拉 GPIO_Initure.Speed=GPIO_SPEED_HIGH; //高速 HAL_GPIO_Init(GPIOB,&GPIO_Initure);

上面代碼的意思是設置 PB0 端口為推挽輸出模式, 輸出速度為高速,上拉。

2、HAL_GPIO_TogglePin函數

void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);

該函數是通過操作 ODR 寄存器,達到取反 IO 口輸出電平的功能。

3、HAL_GPIO_WritePin 函數

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

該函數用來設置一組IO口中的一個或者多個IO口的電平狀態。

示例:
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_SET); //PB5 輸出高
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5, GPIO_PIN_RESET); //PB5 輸出低

4、HAL_GPIO_ReadPin 函數

GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); 返回值:IO口電平狀態

該函數用來讀取一組IO下一個或者多個IO口電平狀態。

示例:
HAL_GPIO_ReadPin(GPIOF, GPIO_PIN_5);//讀取 PF5 的輸入電平

三、STM32CubeMX 配置 IO 口輸入

1、配置

打開STM32CubeMX工具,在引腳圖中選擇要配置的IO口。
這里我們選擇PF12。

進入 Configuration->GPIO,在彈出的界面配置 IO 口的詳細參數。

下面我們來依次解釋這些配置項的含義:
1)GPIO output level:
用來設置IO口初始化電平狀態為High(高電平)還是Low(低電平)。
2)GPIO mode:
用來設置輸出模式為 Output Push Pull(推挽)還是Output Open Drain(開漏)。
3)GPIO Pull-up/Pull-down:
用來設置IO口是上拉/下拉/沒有上下拉。
4)Maximum output speed:
用來設置輸出速度為高速(High)/快速(Fast)/中速(Medium)/低速(Low)。
5)User Lable:
用來設置初始化的IO口Pin值為我們自定義的宏。

2、生成源碼

void MX_GPIO_Init(void) {GPIO_InitTypeDef GPIO_InitStruct = {0};/* GPIO Ports Clock Enable */__HAL_RCC_GPIOF_CLK_ENABLE();/*Configure GPIO pin Output Level */HAL_GPIO_WritePin(GPIOF, ELECTRONIC_LOCK_LOCK_Pin|ELECTRONIC_LOCK_UNLOCK_Pin, GPIO_PIN_RESET);/*Configure GPIO pins : PFPin PFPin */GPIO_InitStruct.Pin = ELECTRONIC_LOCK_LOCK_Pin;GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;GPIO_InitStruct.Pull = GPIO_NOPULL;GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); }

總結

以上是生活随笔為你收集整理的STM32F4 HAL库开发 -- GPIO的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色污网站 | 精品无人区无码乱码毛片国产 | 免费看a视频 | 亚洲字幕av一区二区三区四区 | 亚洲久草 | 蜜臀久久精品久久久用户群体 | 综合激情网五月 | 国产精品视频亚洲 | 婷婷综合色 | 亚洲国产图片 | 成人精品在线观看 | 成人免费视频观看视频 | 国产二级一片内射视频播放 | 手机在线看片国产 | 久久这里只有精品首页 | 国产91精品久久久 | 在线观看国产一级片 | 91精品黄色| 超碰按摩 | 久久久国产成人一区二区三区 | 日韩久久在线 | 日本免费高清一区二区 | 波多野结衣一区二区三区四区 | 开心色婷婷 | 娇妻之欲海泛舟无弹窗笔趣阁 | 亚洲天堂偷拍 | 国产一级视频在线播放 | 黄频视频在线观看 | 小sao货水好多真紧h无码视频 | 国产欧美一区二区在线观看 | 久久综合久久鬼色 | 中文字幕在线永久 | 黄色羞羞网站 | 日韩精品一区二区亚洲av观看 | 亚洲麻豆一区 | 成人作爱视频 | 国产又爽又黄的激情精品视频 | 亚洲天堂影视 | 丁香花高清在线 | 欧美少妇xxxxx | jizz免费在线观看 | 亚洲图片在线观看 | 黄色片网站在线看 | 欧美视频黄色 | 蜜桃aaa| 韩国一区二区三区在线观看 | 逼逼av网站| 狠色综合| 欧美日韩在线观看一区二区 | 麻豆国产精品777777在线 | 椎名空在线观看 | 久草视频在线免费 | 国产一级二级视频 | 亚洲黄色免费看 | 老熟妇午夜毛片一区二区三区 | 成人av电影在线观看 | 国产成人手机在线 | 亚洲大片在线观看 | 国产精品人妻 | 欧美日韩中文 | 一级丰满大乳hd高清 | 欧美精品乱码久久久久久按摩 | 欧美精品黄色片 | 亚洲国产aⅴ精品一区二区 日韩黄色在线视频 | 动漫av一区二区三区 | 日韩在线观看一区二区 | 国产欧美一区二区三区另类精品 | 国产亚洲制服 | 国产又粗又深又猛又爽又在线观看 | 亚洲乱强伦 | 成人v精品蜜桃久一区 | 日韩精品久久久久久久 | jizz日本大全 | 日本精品视频在线 | 欧美视频网址 | 成人黄色免费看 | 精品国产露脸精彩对白 | www.色在线观看 | 在线播放色 | 国产情侣小视频 | 国产日韩欧美精品一区二区 | 国产一级特黄aaa大片 | 侵犯女教师一区二区三区 | 午夜秋霞网| 日韩精品在线观看视频 | 国产12页| 不卡视频一区 | 天天看夜夜操 | av福利站| 69福利网 | 国产久草视频 | 精品国产一区二区三区久久久久久 | 97人妻人人揉人人躁人人 | 三级黄色片网站 | 韩日视频| 黄视频网站在线看 | 翔田千里一区 | 免费国产黄色片 | 午夜精品亚洲 |