完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1.HAL库:hardware abstraction layer:硬件抽象层
2.GPIO初始化的步骤:定义GPIO结构体GPIO_InitTypeDef–>使能对应GPIO端口时钟如E组GPIO, __HAL_RCC_GPIOE_CLK_ENABLE();–>配置GPIO(GPIO_InitStruct.Pin = GPIO_PIN_5;GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;)–>初始化该端口 HAL_GPIO_Init(GPIOE, &GPIO_InitStruct)–>完成GPIO的初始化操作; 3.基于keil V5.25编译,HAL库版本V1.7.0,基于STM32 4.常见的基于HAL的GPIO操作定义在#include "stm32f1xx_hal_gpio.h中均有定义 //GPIO初始化函数 void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init); //关闭GPIO初始化 void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin); /IO口操作相关函数 /* IO operation functions *****************************************************/ /IO口电平读取函数(高电平 1 低电平 0) GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); //IO口输出电平,设置为输出1或者0 void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState); //输出电平翻转1->0或 0->1 void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); //锁定某个IO口的电平 HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); //IO口外部中断函数 void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin); //外部中断回调函数 void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin); --------------------- 简单来说就是(1)定义结构体变量。(2)使能时钟。(3)配置初始化电平。(4)通过结构体变量初始化GPIO。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1780 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1621 浏览 1 评论
1081 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
728 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1679 浏览 2 评论
1938浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
731浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
570浏览 3评论
596浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
557浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 06:46 , Processed in 0.844932 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号