当前位置: 首页 > news >正文

c 手机网站开发百度下载安装到手机

c 手机网站开发,百度下载安装到手机,网址查询地址查询,互联网服务公司有哪些外部中断(HAL库GPIO讲解) 今天我们会详细地学习STM32CubeMX配置外部中断,并且讲解HAL库的GPIO的各种函数。 准备工作: 1、STM32开发板(我的是STM32F103C8T6) 2、STM32CubeMx软件、 IDE: Keil软件 3、STM32F1xx/ST…

外部中断(HAL库GPIO讲解)

今天我们会详细地学习STM32CubeMX配置外部中断,并且讲解HAL库的GPIO的各种函数。

准备工作:

1、STM32开发板(我的是STM32F103C8T6)

2、STM32CubeMx软件、 IDE: Keil软件

3、STM32F1xx/STM32F4xxHAL库  

4、按键管脚 PA7 PB0

5   LED管脚PA1

配置

LED:1个GPIO_OUTPUT (输出模式)

按键:2个GPIO_EXITx(外部中断模式)

GPIO的各种模式设置

  • GPIO output level   引脚电平设置   高/低
  • GPIO mode   GPIO模式     推挽输出/开漏输出
  • GPIO Pull-up/Pull-dowm   上拉下拉电阻      上拉电阻/下拉电阻/无上拉或下拉
  • Maxinum output speed   引脚速度设置   低速/中速/高速
  • User Label    用户标签   给引脚设置名称  如LED0

GPIO_EXIT的6种模式

我们的按键选择下降沿触发

 设置NVIC(嵌套向量中断控制器)

之后的配置就和上一章写的差不多了名字地址什么的配置好就行了

打开工程

随后我们可以在stm32f1xx_it.c中看到我们所配置的中断服务函数  并且可以看到GPIO的初始化分到了gpio.c里面 

在HAL库中,中断运行结束后不会立刻退出,而是会先进入相对应的中断回调函数,处理该函数中的代码之后,才会退出中断,所以在HAL库中我们一般将中断需要处理代码放在中断回调函数中

HAL库 GPIO函数库讲解

在正常使用中,除了STM32CubeMX配置之外,我们有时候还需要自己配置一些东西,学习并理解HAL库,也是我们必须要学习的一个地方

首先打开stm32f4xx_hal_gpio.h  发现一共定义有8个函数

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

功能: GPIO初始化

实例:HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);

void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin);

功能:在函数初始化之后的引脚恢复成默认的状态,即各个寄存器复位时的值

实例:HAL_GPIO_Init(GPIOC, GPIO_PIN_4);

GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);

功能:读取引脚的电平状态、函数返回值为0或1

实例:HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_4);

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

功能:引脚写0或1

实例:HAL_GPIO_WritePin(GPIOC, GPIO_PIN_4,0);

void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);

翻转引脚的电平状态   

实例:HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_4);    常用在LED上

HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);

功能:锁住引脚电平,比如说一个管脚的当前状态是1,当这个管脚电平变化时保持锁定时的值。

实例:HAL_GPIO_LockPin(GPIOC, GPIO_PIN_4);    

void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin);

功能:  外部中断服务函数,清除中断标志位

实例:HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_4);    

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin);

功能:  中断回调函数,可以理解为中断函数具体要响应的动作。

实例:HAL_GPIO_EXTI_Callback(GPIO_PIN_4);    

GPIO_InitTypeDef结构体定义

typedef struct
{uint32_t Pin;       /*!<   选择引脚*/uint32_t Mode;      /*!< 设置引脚模式*/uint32_t Pull;      /*!< 引脚是否上拉或下拉*/uint32_t Speed;     /*!< 设置引脚速度*/
} GPIO_InitTypeDef;

http://www.yayakq.cn/news/471542/

相关文章:

  • 网站建设合同模板宁波营销型网站建设
  • 免费注册的网站能备案吗个人空间网站
  • 朔州路桥建设有限责任公司网站如何做网站结构及栏目策划
  • 开源网站推广做一个公众号要多少钱?
  • 青海网站建设有哪些怎么建设一个淘宝客网站谁知道
  • 网站seo方案建议用ps做网站导航
  • 贵金属交易网站源码制作软件的工作叫什么
  • 棋牌网站开发搭建wordpress网站中英文切换
  • wdcp 无法访问此网站重庆做网站哪家好
  • 重庆欧勒精细陶瓷有限公司网站策划书网站开发与服务合同范本
  • 上海市建设合同信息表网站公司网站建设多少钱
  • 网站建设岗位绩效潮州营销型网站建设推广
  • 成都有哪些网站开发公司黄骅港矿石码头
  • ppt免费模板哪个网站好济宁市工程建设职业学校网站
  • 上海网站建设培训班深圳网页定做
  • 做网站的公司怎么做业务纯注册app拉新平台
  • 苏州城乡建设局网站质检员silverlight做的网站
  • 网站源码是什么上海交通大学文科建设处网站
  • 买网站服务器思途智旅游网站开发
  • 中色冶金建设有限公司网站网站关键词用什么做
  • 金昌八冶建设集团官方网站桂林房产
  • 银川公司做网站seo快速优化排名
  • 域名备案要先做网站的吗网站集约化建设纪要
  • 把自己做的网页发布到网站iis怎么添加网站
  • 电子商务网站建设说课稿网站前台模板设计
  • wps免费模板网站扬州市规划建设局网站
  • 滨州正规网站建设哪家专业晋江网站建设费用
  • 网站开发技术基础教程wordpress 地理位置签到
  • 怎样自己开网站赚钱品牌建设整体体系包括什么
  • 攀枝花三线建设网站福州网络推广