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

个人网站怎么进后台微信小程序怎么做免费

个人网站怎么进后台,微信小程序怎么做免费,什么网站比较好,怎么在百度上做网站在某些嵌入式应用中#xff0c;可能需要同时处理多个外部中断事件。STM32系列微控制器提供了多组外部中断线#xff08;EXTI Line#xff09;#xff0c;可以同时配置和使用多个GPIO引脚作为外部中断触发器。为了有效管理和处理多组外部中断#xff0c;我们可以采取一些优…在某些嵌入式应用中可能需要同时处理多个外部中断事件。STM32系列微控制器提供了多组外部中断线EXTI Line可以同时配置和使用多个GPIO引脚作为外部中断触发器。为了有效管理和处理多组外部中断我们可以采取一些优化策略和技术。 以下是基于STM32的多组外部中断的优化策略和应用的概述并提供了一些关键代码示例 策略1GPIO和优先级管理 在使用多组外部中断时首先需要合理规划和管理GPIO引脚的分配。可以使用不同的GPIO组或端口用于不同的外部中断以避免冲突和干扰。 其次需要合理配置中断优先级确保较高优先级的中断能够快速响应和处理。优先级的配置涉及到中断控制器NVIC以及中断优先级分组的设置。 示例代码 c // 配置GPIO引脚用于外部中断1 GPIO_InitTypeDef GPIO_InitStruct; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitStruct.GPIO_Mode GPIO_Mode_IPU; GPIO_InitStruct.GPIO_Pin GPIO_Pin_0; // 选择引脚A0作为外部中断触发器1 GPIO_InitStruct.GPIO_Speed GPIO_Speed_50MHz; GPIO_Init(GPIOA, GPIO_InitStruct);// 配置GPIO引脚用于外部中断2 GPIO_InitTypeDef GPIO_InitStruct; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitStruct.GPIO_Mode GPIO_Mode_IPD; GPIO_InitStruct.GPIO_Pin GPIO_Pin_5; // 选择引脚B5作为外部中断触发器2 GPIO_InitStruct.GPIO_Speed GPIO_Speed_50MHz; GPIO_Init(GPIOB, GPIO_InitStruct);...// 配置并使能外部中断1 EXTI_InitTypeDef EXTI_InitStruct; GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0); // 外部中断1映射到GPIOA.0 EXTI_InitStruct.EXTI_Line EXTI_Line0; EXTI_InitStruct.EXTI_Mode EXTI_Mode_Interrupt; EXTI_InitStruct.EXTI_Trigger EXTI_Trigger_Rising; EXTI_InitStruct.EXTI_LineCmd ENABLE; EXTI_Init(EXTI_InitStruct);// 配置并使能外部中断2 EXTI_InitTypeDef EXTI_InitStruct2; GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource5); // 外部中断2映射到GPIOB.5 EXTI_InitStruct2.EXTI_Line EXTI_Line5; EXTI_InitStruct2.EXTI_Mode EXTI_Mode_Interrupt; EXTI_InitStruct2.EXTI_Trigger EXTI_Trigger_Rising; EXTI_InitStruct2.EXTI_LineCmd ENABLE; EXTI_Init(EXTI_InitStruct2);...// 配置中断优先级和使能 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); NVIC_InitTypeDef NVIC_InitStruct1; NVIC_InitStruct1.NVIC_IRQChannel EXTI0_IRQn; NVIC_InitStruct1.NVIC_IRQChannelCmd ENABLE; NVIC_InitStruct1.NVIC_IRQChannelPreemptionPriority 1; NVIC_InitStruct1.NVIC_IRQChannelSubPriority 0; NVIC_Init(NVIC_InitStruct1);NVIC_InitTypeDef NVIC_InitStruct2; NVIC_InitStruct2.NVIC_IRQChannel EXTI9_5_IRQn; NVIC_InitStruct2.NVIC_IRQChannelCmd ENABLE; NVIC_InitStruct2.NVIC_IRQChannelPreemptionPriority 0; NVIC_InitStruct2.NVIC_IRQChannelSubPriority 0; NVIC_Init(NVIC_InitStruct2);策略2共享资源和并发处理 当使用多组外部中断时可能会涉及到共享资源和并发处理的情况。例如可能同时需要访问共享的外设寄存器或数据结构。在这种情况下需要合理处理共享资源的控制和同步以避免竞争条件和数据不一致。 常见的做法是使用互斥锁/信号量或其他同步机制来保护共享资源。在中断服务函数中尽量减少对共享资源的直接访问可以通过将中断事件信息传递给任务通过队列或标志等方式在任务中处理共享资源。 策略3中断服务函数的优化 在处理多组外部中断时中断服务函数的优化也非常重要。中断服务函数应尽可能地简洁、高效并尽量避免长时间占用中断线。 示例代码 c void EXTI0_IRQHandler(void) {if (EXTI_GetITStatus(EXTI_Line0) ! RESET){// 处理外部中断1事件// ...EXTI_ClearITPendingBit(EXTI_Line0);} }void EXTI9_5_IRQHandler(void) {if (EXTI_GetITStatus(EXTI_Line5) ! RESET){// 处理外部中断2事件// ...EXTI_ClearITPendingBit(EXTI_Line5);} }总结 在基于STM32的多组外部中断的应用中需要合理管理GPIO和中断优先级以充分利用多组外部中断线。同时需要处理共享资源的同步和并发访问以避免竞争条件和数据不一致。另外编写高效的中断服务函数也是关键要尽量减少中断响应时间和中断占用时间。 嵌入式物联网的学习之路非常漫长不少人因为学习路线不对或者学习内容不够专业而错失高薪offer。不过别担心我为大家整理了一份150多G的学习资源基本上涵盖了嵌入式物联网学习的所有内容。点击这里0元领取学习资源让你的学习之路更加顺畅记得点赞、关注、收藏、转发哦。  ​ 点击链接扫码进入嵌入式交流群 ​https://fss.mpay8.cn/article/dmrjinh2C6fjejm
http://www.pierceye.com/news/489529/

相关文章:

  • 圣弘建设股份有限公司网站上海图文设计有限公司
  • gta5资产网站正在建设零基础自学设计
  • 深圳专业制作网站公司吗网站信息化建设报送
  • 苏州网站建设运营推广网站一年多少钱?
  • WordPress国外主机湖北短视频seo营销
  • 南通网站建设电话设计一个网站要多少钱
  • 好的模板网站建设网站规划 时间
  • 昆明seocn整站优化网站建设如何报价
  • 网页设计模板免费网站WordPress生成网站地图
  • 做网站 侵权做外贸怎么看外国网站
  • 网站建设知识点的总结普通网站建设是什么
  • 杭州网站建设费用多少合肥高新城建设计院网站
  • 炫酷特效网站asa8.4 做网站映射
  • 郑州租赁房网站建设九江快乐城
  • 手机网站建站教育模板微信网站 教程
  • 网站的结构犀牛云做网站多少钱
  • 网站服务器用什么配置公司网站建设的视频教程
  • idea做网站网络营销与网站推广的区别
  • 建一家网站多少钱微信小程序在哪里查找
  • 东阳网站推广英文网站源码下载
  • 介绍湛江网站高端网站建设网站定制
  • 网站的特征包括哪些方面wordpress缓存插件 w3
  • 东莞专业网站营销wordpress新建页面模板
  • 做外贸学习网站智慧团建网页电脑版登录网站
  • 如何免费做一个网站攻略常州网站推广软件
  • 手机网站建站 服务器网站名称收录
  • 网站根 html网站建设 永灿 竞争
  • 网站建设费合同天津网站建设公司
  • 自己怎么做优惠卷网站购物网站建设需求模板下载
  • 上海智能网站建设公司可以做网站头像的图片