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

.net微信网站开发免费ppt模板下载 清新

.net微信网站开发,免费ppt模板下载 清新,苏州网站建设招聘,云电脑永久免费版具体的使用CubeMX新建工程的步骤看这里:STM32CubeMX学习笔记(3)——EXTI(外部中断)接口使用_cubemx exti-CSDN博客 之前一直都是在看野火的视频没有亲手使用CubeMX生成工程,而且野火给的例程代码框架和自动生成的框架也不一样&…

具体的使用CubeMX新建工程的步骤看这里:STM32CubeMX学习笔记(3)——EXTI(外部中断)接口使用_cubemx exti-CSDN博客

之前一直都是在看野火的视频没有亲手使用CubeMX生成工程,而且野火给的例程代码框架和自动生成的框架也不一样,原本想着对比着例程应该不会多难,但是动手实践下来还是有很多问题的,光看视频确实没有动手操作更能帮助理解。

1、使用CubeMX生成的是外设的初始化代码,应用代码需要自己加上。

本实验使用CubeMX生成的GPIO部分都在一个文件中,不管是接收中断信号的引脚PA0,PC13还是控制LED灯的引脚PB0,PB1,配置模式和初始化都在gpio.c这一个文件中,这与例程分别放在bsp_led.c和bsp_exti.c文件中不同,反正我目前是直接用了,没有新建板级支持包。

bsp_led.c文件放LED灯对应的引脚PB0  PB1的初始化。

bsp_exti.c文件放KEY对应的引脚PA0  PC13的EXTI模式和初始化。

应用代码部分就是在中断服务函数那里让LED翻转的程序。

2、整体流程就是按下按键产生中断跳转到对应中断服务函数中执行里面的程序

所以就是按键1对应引脚PA0,按下后产生中断跳转到中断服务函数执行使PB0电平反转的操作,对应的绿灯翻转。按键2同样。

3、在中断服务函数里面执行的程序

	if(__HAL_GPIO_EXTI_GET_IT(GPIO_PIN_0) != RESET) {// LED1 取反	digitalToggle(GPIOB,GPIO_PIN_0);//清除中断标志位__HAL_GPIO_EXTI_CLEAR_IT(GPIO_PIN_0);     }  

先判断是否产生中断,然后对应引脚电平取反,清除中断标志位 

问题1:

不清楚__HAL_GPIO_EXTI_GET_IT(GPIO_PIN_0)功能

  • __HAL_GPIO_EXTI_GET_IT(GPIO_PIN_0) 只能检查 EXTI 线 0 是否触发了中断,无法区分具体是哪个端口的引脚(如 PA0 或 PB0)。

  • 如果需要判断是否是 PA0 触发的中断,必须结合 HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0) 来读取 PA0 的电平状态。

  • 在初始化时,确保 EXTI 线 0 只连接到 PA0,避免其他引脚干扰。

问题2:

需要定义:#define digitalToggle(p,i)        {p->ODR ^=i;}            //输出翻转状态

4、使用库函数

HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_0);       可以代替digitalToggle(p,i) 。

5、与使用回调函数的写法相比:

中断服务程序(ISR)通常是一个单独的函数,所有的中断逻辑都在这个函数内部实现。这种方式比较直接,适合简单的应用场景。

  1. 解耦设计:通过使用回调函数,可以将具体的中断处理逻辑从ISR中分离出来,ISR只需要负责调用相应的回调函数。这样做的好处是可以根据需要灵活地定义和修改中断处理逻辑,而无需更改ISR本身。

  2. 提高模块化和复用性:每个中断事件对应的处理逻辑都可以被封装成独立的回调函数,这不仅提高了代码的模块化程度,还使得这些处理逻辑可以在不同场景下重复利用。

  3. 增强灵活性:可以根据不同的条件或状态动态设置不同的回调函数,从而实现更加灵活的中断处理策略。

  4. 简化ISR:ISR变得更加简洁,主要职责是检查中断源并调用相应的回调函数。这样可以缩短ISR执行时间,减少对系统实时性的负面影响。

  5. 更好的实时响应:因为ISR的工作量减少,可以更快地响应中断事件,对于对时间敏感的应用来说非常重要。

总的来说,使用中断回调函数可以使你的中断处理机制更加灵活、易于管理和扩展,同时也能提高系统的响应速度和整体性能。而不使用回调函数的方式则较为直接简单,适用于中断处理逻辑相对简单固定的场景。选择哪种方式取决于具体的应用需求和项目复杂度。

http://www.dtcms.com/wzjs/806693.html

相关文章:

  • 深圳新闻类网站的建设wordpress 文章统计
  • 盐亭县建设局网站做公众号的网站模板下载吗
  • 彩票网站注册钢材销售网站建设
  • 庆阳网站建设报价怎么增加网站浏览量
  • 个人门户网站开发上海营销网站建设
  • 教育主管部门建设的专题资源网站是无锡做网站公司哪家比较好
  • 侯马做网站电商设计参考网站
  • 企业管理培训免费课程东莞网站优化公
  • 企业网站优化方案的策划做静态网站的步骤
  • 济南做网站费用校园网站安全建设方案
  • 网站开发支付模块中国电信视频app下载
  • 购物帮做特惠的网站徐州云建站模板
  • 怎么修改自己网站内容windows11优化大师
  • 兼职做Ppt代抄论文的网站游戏网站推广
  • 奢侈品网站模板怎么购买国外的域名
  • wordpress模板网站标题重复威海网站建设开发公司
  • 欧洲做安网站泉州网红
  • 邯郸网站建设公司如何登录中国建设银行河北分行网站
  • 优秀定制网站建设方案做离心开关的企业的网站
  • 广州手机网站东莞市建设企业网站企业
  • 目前国内家教做的好的网站wordpress做个论坛
  • 网站备案 人工审核seo的最终是为了达到
  • 个人自助网站电脑维修 做网站
  • 苏州和城乡建设局网站给人家做的网站想改怎么改
  • 购物网站ppt怎么做wordpress个人博客前台模板下载
  • 做企业网站排名怎么做网站门户
  • 传奇手游网站目前最火的大型网游
  • 郑州企业建设网站服务家装设计方案
  • 四川网站建设益友焦作网站设计
  • 网站备案背景布新郑网络推广公司