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

做化工回收上什么网站企业网站哪个平台好

做化工回收上什么网站,企业网站哪个平台好,交互式英语网站的构建,朝阳公司做网站一、EXTI 外部中断在嵌入式系统中有广泛的应用场景,如按钮开关控制,传感器触发,通信接口中断等。其原理都差不多,STM32会对外部中断引脚的边沿进行检测,若检测到相应的边沿会触发中断,在中断中做出相应的处…

一、EXTI

外部中断在嵌入式系统中有广泛的应用场景,如按钮开关控制,传感器触发,通信接口中断等。其原理都差不多,STM32会对外部中断引脚的边沿进行检测,若检测到相应的边沿会触发中断,在中断中做出相应的处理。
例如:

  • 开关按下时,其引脚电平会发生变化;
  • 传感器检测的参数超过阈值,会传输一个电平信号;

二、EXTI功能框图

在这里插入图片描述

EXTI可分为两大部分功能:一个产生中断,另一个产生事件,这两个功能从硬件上有所不同;
产生中断是上图中至NCI中断控制器,产生事件是上图中脉冲发生器

1、产生中断的电路流程:

  • 输入线:EXTI输入线路有19个中断/事件输入线,可通过寄存器设置成任意一个GPIO,或者一些外设事件。输入线一般是检测电平变化的信号。
  • 边沿检测电路:通过设置上升沿和下降沿触发寄存器来控制信号触发,若检测到有边沿跳变输出有效信号1至与或门。
  • 与或门电路:与或门有1则输出1,信号输入端有两个,一个来自边沿检测电路,另一个来自程序控制启动中断/事件线。是否允许程序控制启动,是由软件中断事件寄存器控制。
  • 图中上方的与门电路:与门全1才为1,若中断屏蔽寄存器为0,不论与或门电路输出的为1还是0都是输出0;若中断屏蔽寄存器为1,则与门输出的信号由与或门输出信号决定。因此,中断屏蔽寄存器可以控制是否产生中断的目的。与门电路输出1时,会把请求挂起寄存器对应位置1。
  • NVIC中断控制器:将请求挂起寄存器的内容输出到NVIC内,从而实现系统中断事件控制。

2、产生事件的电路流程:与产生中断的电路流程前三个一样

  • 图中下方的与门电路:与门全1才为1, 若事件屏蔽寄存器为0,不论与或门电路输出的为1还是0都是输出0;若事件屏蔽寄存器为1,则与门输出的信号由与或门输出信号决定。因此,事件屏蔽寄存器可以控制是否产生事件的目的。
  • 脉冲信号发生器:当其输入端为1时,就会产生一个脉冲信号;当其输入端为0时,就不会输出脉冲。脉冲信号可以给其他外设电路使用,一般用来触发TIM或者ADC开始转换。

三、EXTI寄存器

  • 中断屏蔽寄存器(EXTI_IMR):其决定了是否可以开启中断;
  • 事件屏蔽寄存器(EXTI_EMR):其决定了是否可以开启事件输出;
  • 上升沿触发选择寄存器(EXTI_RTSR):其决定了输入线是否允许上升沿触发;
  • 下降沿触发选择寄存器(EXTI_FTSR):其决定了输入线是否允许上升沿触发;
  • 软件中断事件寄存器(EXTI_SWIER):其决定了是否内部软件可以产生中断达到EXTI目的;
  • 挂起寄存器(EXTI_PR):查看是否发生了触发请求;

外部唤醒线是边沿触发的,这些线上不能出现毛刺信号。在写EXTI_RTSR或者EXTI_FTSR寄存器时,在外部中断线上的上升沿或者下降沿信号不能被识别,挂起位也不会被置位。在同一中断线上,可以同时设置上升沿和下降沿触发。即任一边沿都可触发中断。

四、配置流程

实验内容:通过外部中断的方式,检测PB14引脚的下降沿

1、开启GPIO,AFIO时钟

	/*开启时钟*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);		//开启GPIOB的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);		//开启AFIO的时钟,外部中断必须开启AFIO的时钟

2、设置GPIO工作模式

	/*GPIO初始化*/GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOB, &GPIO_InitStructure);						//将PB14引脚初始化为上拉输入

3、设置IO口与中断线的映射关系

这里用到的是PB14引脚,所以对应着EXTI线14

	/*AFIO选择中断引脚*/GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource14);//将外部中断的14号线映射到GPIOB,即选择PB14为外部中断引脚

4、配置外部中断(EXTI)

EXTI结构体成员:

  • EXTI_Line:中断/时间线选择,可选EXTI0-EXTI19;
  • EXTI_Mode:可选为产生中断或者产生事件,这里为产生中断;
  • EXTI_Trigger:边沿触发事件,可选上升或者下降,后者上升和下降;
  • EXTI_LineCmd: 控制是否使能EXTI线;
	/*EXTI初始化*/EXTI_InitTypeDef EXTI_InitStructure;						//定义结构体变量EXTI_InitStructure.EXTI_Line = EXTI_Line14;					//选择配置外部中断的14号线EXTI_InitStructure.EXTI_LineCmd = ENABLE;					//指定外部中断线使能EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;			//指定外部中断线为中断模式EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;		//指定外部中断线为下降沿触发EXTI_Init(&EXTI_InitStructure);								//将结构体变量交给EXTI_Init,配置EXTI外设

5、配置中断优先级(NVIC),并使能中断

EXTI配置好了之后,需要进一步配置NVIC,设置中断引脚的优先级等,并将中断进行使能。
其中,最主要的是选择中断源NVIC_IRQChannel,中断源在stm32f10x.h文件中进行查找。
在本次实验当中,PB14对应的中断输入线是EXTI 14,所以选择中断源EXTI15_10_IRQn

	/*NVIC配置*/NVIC_InitTypeDef NVIC_InitStructure;						//定义结构体变量NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn;		//选择配置NVIC的EXTI15_10线NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;				//指定NVIC线路使能NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;	//指定NVIC线路的抢占优先级为1NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;			//指定NVIC线路的响应优先级为1NVIC_Init(&NVIC_InitStructure);								//将结构体变量交给NVIC_Init,配置NVIC外设

6、编写中断服务函数

中断服务函数的名称在startup_stm32f10x_mx.s启动文件当中查找,函数内容如下:

  • 首先,检查EXTI输入线的中断标志位是否被设置。
  • 如果设置了,那么执行与EXTI输入线相关的中断处理代码。
  • 在处理完中断后,清除EXTI输入线 的中断标志位。

在中断服务函数中,通过检查EXTI输入线的中断标志位,可以确认中断是否确实是由EXTI输入线输入线触发的。这有助于避免因为其他中断源或噪声干扰而导致的误响应。

void EXTI15_10_IRQHandler(void)
{if (EXTI_GetITStatus(EXTI_Line14) == SET)		//判断是否是外部中断14号线触发的中断{EXTI_ClearITPendingBit(EXTI_Line14);		//清除外部中断14号线的中断标志位//中断标志位必须清除//否则中断将连续不断地触发,导致主程序卡死}
}

7、 NVCI中断分组

整个工程文档调用一次这个函数即可,分组视情况而定

	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);					//配置NVIC为分组2
http://www.yayakq.cn/news/203116/

相关文章:

  • 电子商务网站建设侧重哪几个方面网页设计作业下载
  • 怎样用dw做网站手机 网站 系统
  • 网站建立于网页设计重庆江津网站建设
  • 安庆 网站建设正邦设计公司招聘要求
  • 网站服务器安全防护可以做头像的网站有哪些
  • 成都 网站建设 公司对招聘网站页面设计做建议
  • 网站优化基础宁波网页设计机构
  • 织梦做的网站打开慢网站内做营销活动使用工具
  • 网络的推广seo金融术语
  • 网站改版 收录微信公众号和微网站
  • 网站建设服务费标准工程装修
  • 龙凤网站建设云聚达岳阳企业网站建设
  • 全flash 电子商务网站如何推广wordpress前端集成短信功能
  • 蛇口网站建设公司wordpress文章长
  • 开源网站模板cms青浦网站制作su35
  • 仿站建站教程深圳网站建设公司联华
  • 洛阳网站建设多少钱wordpress 文件加载顺序
  • 注册网站的信息网站可以在自己的电脑上做网站吗
  • 旅游网站建设的目标是什么意思淘宝网建设网站意义
  • 北京网站备案速度东莞微网站建设报价
  • html简单网站开发案例深圳做网站佰达科技三十
  • 怎么注册英文网站域名网站丢了数据库还在
  • 北京建网站的公司搜索引擎排名查询工具
  • 带数据库的网站做国际网站建设经验
  • 注册建设网站的公司哪家好制作一个网站需要多少小时
  • 绍兴市柯桥区建设局网站域名解析在线查询
  • cms与php做网站的区别网站设计字体
  • 网站开发怎么切换多种语言企业网站 数据库
  • 电子商务网站建设林锋课本答案2023年8月份新冠症状
  • 做印刷广告的图片在哪个网站找网站建设项目软件开发招标文件