普冉---PY32F030---EXIT外部中断的使用

chatgpt/2023/9/27 15:58:53

官方例程描述的并不详细。
且我感觉写的有问题,所以我就修改了一下。


EXIT外部中断的使用:

1.初始化用于中断的引脚。(和初始化普通IO差不多)
2.使能中断。
3.配置中断优先级。
4.中断函数中,清除中断标志位。


该代码,在GPIO_A_PIN12上有下降沿发生的时候,GPIO_B_PIN1上会有电平翻转。


#include "main.h"	
static void APP_ConfigureExti(void);
int main(void)
{/* 复位所有外设,初始化flash接口和systick */HAL_Init();/* 配置外部中断 */APP_ConfigureExti();//-----gpio-b的第一个引脚,输出高电平HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,1);while (1){}
}/*** @brief  配置EXTI* @param  无* @retval 无*/
static void APP_ConfigureExti(void)
{/* 配置中断引脚 */GPIO_InitTypeDef  GPIO_InitStruct;__HAL_RCC_GPIOA_CLK_ENABLE();                  /* 使能GPIOA时钟 */GPIO_InitStruct.Mode  = GPIO_MODE_IT_FALLING;  /* GPIO模式为下降沿中断 */GPIO_InitStruct.Pull  = GPIO_PULLUP;           /* 上拉 */GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;  /* 速度为高速 */GPIO_InitStruct.Pin = GPIO_PIN_12;HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);/* 初始化IO引脚---作为中断的观测 */GPIO_InitTypeDef  LEDD;__HAL_RCC_GPIOB_CLK_ENABLE();                  /* 使能GPIOB时钟 */LEDD.Mode  = GPIO_MODE_OUTPUT_PP;  /* GPIO模式为下降沿中断 */LEDD.Pull  = GPIO_PULLUP;           /* 上拉 */LEDD.Speed = GPIO_SPEED_FREQ_HIGH;  /* 速度为高速 */LEDD.Pin = GPIO_PIN_1;HAL_GPIO_Init(GPIOB, &LEDD);/* 使能EXTI中断 */HAL_NVIC_EnableIRQ(EXTI4_15_IRQn);/* 配置中断优先级 */HAL_NVIC_SetPriority(EXTI4_15_IRQn, 0, 0);
}//--------------中断事件发生的时候,就执行这个函数
void EXTI4_15_IRQHandler(void)
{//  BSP_LED_Toggle(LED_GREEN);HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_1);HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_12);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-5312966.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

正则表达式速通

简介 正则表达式,我们可以看作通配符的增强版,可以帮我们匹配指定规则的字符串,在计算机中应用广泛,比如说爬虫、网站的登录表单等。 原视频:https://www.bilibili.com/video/BV1da4y1p7iZ 学习正则表达式的常用工具…

26 用lsqnonlin求解最小二乘问题(matlab程序)

1.简述 函数语法 x lsqnonlin(fun,x0) 函数用于: 解决非线性最小二乘(非线性数据拟合)问题 解决非线性最小二乘曲线拟合问题的形式 变量x的约束上下限为ub和lb, x lsqnonlin(fun,x0)从x0点开始,找到fun中描述的函数的最小平方和。函数fu…

【微服务】springboot整合mongodb使用详解

目录 一、mongodb简介 1.1 什么是mongodb 1.2 mongodb特点 二、mongodb中的核心术语 2.1 mogodb与数据库对比 2.2 mongodb中的核心概念 2.3 与关系数据库的差异 2.3.1 半结构化 2.3.2 支持多级嵌套 2.3.3 关系弱化 三、mongodb 技术优势和应用场景 3.1 mongodb 技术…

MySQL数据库关于表的一系列操作

MySQL中的数据类型 varchar 动态字符串类型(最长255位),可以根据实际长度来动态分配空间,例如:varchar(100) char 定长字符串(最长255位),存储空间是固定的,例如&#…

数据治理的21个有效策略

数据治理很难,以下是我基于实践总结的20条策略,希望于你有所启示。 策略一: 数据治理能否成功很大程度取决于领导的级别,CFO,CMO,CIO都在维护各自专业领域的利益,但鲜有CDO,因此&…

FreeRTOS源码分析-7 消息队列

目录 1 消息队列的概念和作用 2 应用 2.1功能需求 2.2接口函数API 2.3 功能实现 3 消息队列源码分析 3.1消息队列控制块 3.2消息队列创建 3.3消息队列删除 3.4消息队列在任务中发送 3.5消息队列在中断中发送 3.6消息队列在任务中接收 3.7消息队列在中断中接收 1 消…

linux下docker安装、镜像下载、镜像基础操作、容器基础操作

目录 一、环境准备 1、开启虚拟化 2、关闭防火墙 3、yum仓库获取阿里源(清华、京东都可以) 4、确保能ping到外网 二、安装docker 1、yum安装docker 2、启动docker并设置开机自启 3、安装docker-ce阿里镜像加速器 三、docker基本操作 1、查看版…

lable 某个名称换行 \n /n /br axisLabel换行 文字换行 echarts

axisLabel: {interval: 0,textStyle: {color: #D9D9D9,fontSize: fontChart(0.2),lineHeight:12,},formatter: function (params) {// 交通运输、仓储和邮政业, 制造业, 科学研究和技术服务业if (params 交通运输、仓储和邮政业) { return 交通运输、\n仓储和邮政业 }else if …
推荐文章