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

附近企业建站公司宁波seo运营推广平台排名

附近企业建站公司,宁波seo运营推广平台排名,有什么做h5的网站,20个简单的网页设计作品一、中断 1.1中断系统 中断系统是管理和执行中断的逻辑结构; 1.2中断 系统在执行主程序过程中,出现了特定的触发条件(触发源),系统停止执行当前程序,转而去执行中断程序,执行完毕后&#xf…

一、中断

1.1中断系统

中断系统是管理和执行中断的逻辑结构;

1.2中断

系统在执行主程序过程中,出现了特定的触发条件(触发源),系统停止执行当前程序,转而去执行中断程序,执行完毕后,返回至暂停的地方继续执行;

中断产生前,会对现场进行保护,中断结束后,会对现场进行恢复;

例如:串口通信时接收到一个信息,产生中断,触发DMA将数据转运走;

定时器定时中断,触发ADC测量等;

1.3中断优先级

当多个中断源同时申请中断时,CPU根据中断源的轻重缓急,优先执行优先级高的;

1.4中断嵌套

当一个中断程序正在允许时,又有新的更高优先级的中断源申请中断,CPU再次暂停执行当前中断程序,转而去执行新的中断程序,执行完毕后依次返回;

二、NVIC

2.1NVIC

在STM32中有很多可屏蔽的中断通道,使用NVIC,嵌套中断向量控制器统一管理,每一个通道有16个编程的优先级,通过对其进行分组,进一步设置抢占优先级和响应优先级;

2.2抢占优先级和响应优先级

在STM32中有16位的优先级寄存器,通过配置其中4位设置,高N位配置抢占优先级,低N-4位配置响应优先级;

抢占优先级可以执行中断嵌套;

响应优先级可以优先排队;

2.3中断向量表

中断函数执行地址是由编码器在随机分配的是不固定的;

但是由于硬件的限制,中断只能跳转到固定的位置,为了使中断可以跳转到随机的位置,定义一个地址列表,列表的地址是固定的,当产生中断时,跳转到固定地址,再有编码器和跳转到中断函数的代码,就可以实现跳转到任何的位置,这个地址列表就是中断向量表;

中断向量表排行越低,优先级越高;

产生中断后,自动执行中断函数;

三、外部中断

EXTI是众多能产生中断的外设之一;

EXTI外部中断,可以监控指定引脚的电平跳变,当引脚出现引脚跳变时,立刻向NVIC发送中断申请,经过NVIC仲裁后,CPU响应中断;

EXTI可以通过上边沿,下边沿,全边沿,软件触发(程序中执行一句代码就可以实现);

EXTI可以通过全部的GPIO通道外加RTC时钟,USB唤醒,以太网唤醒,RVD触发(从低功耗模式唤醒EXTI);

EXTI触发响应的方式:中断响应(配置NVIC优先级,CPU响应中断,触发中断函数),事件响应(触发其他外设工作);

四、EXTI工作流程图

外部信号通过GPIO输入至AFIO,AFIO选择配置外部中断引脚后,输出给EXTI,EXTI通过边沿选择和控制输出给NVIC或触发其他外设工作,NVIC配置优先级经过仲裁后,CPU响应中断;

五、AFIO

AFIO复用IO口,主要用于引脚重映射和外部中断引脚选择

AFIO内部本质是一个数据选择器,对输入的GPIO——pin引脚进行选择,作为EXTI的外部引脚输入,因为AFIO只有16个输出通道到EXTI,所以相同pin引脚只能有一个可以触发;

AFIO的结构图:

六、EXTI结构图

经过AFIO选择后的信号输入至EXTI,通过APB总线配置边沿触发选择和软件触发选择器,配置触发方式(上升沿,下降沿,全边沿,软件), 触发后进入或门(有1则为1),分为两路,一路和事件屏蔽信号组成一个与门(有0则0)组成事件响应,另一路置中断标志位并和中断屏蔽信号组成中断触发至NVIC;

使用外部中断模块的特性:想要获取的信号是外部驱动的很快的突变信号; 

七、API实现

7.1对射式红外编码器计次

7.1.1实现的功能:当红外编码器被遮挡时,触发中断,计数加1,通过OLED显示;

7.1.2思路:

底层:配置EXTI,中断函数计次计数值,读取计次;

驱动层:初始化EXTI,OLED显示;

1.RCC开始GPIO,AFIO,EXTI,NVIC时钟(EXTI和NVIC不需要开启,上电后自动开启)

2.初始化GPIO,配置为上拉输入模式,读取外部引脚信号;

3.配置AFIO选择外部中断引脚,连接GPIO->AFIO->EXTI;

4.配置EXTI选择边沿触发方式,触发方式,连接EXTI->NVIC;

5.配置NVIC对优先级进行分组,设置抢占优先级和响应优先级,连接NVIC->CPU;

6.配置中断函数,在中断函数中执行,当产生中断时候计次++;

7.使用OLED显示;

7.1.3函数分析:

void EXTI_DeInit(void);//复位EXTI
void EXTI_Init(EXTI_InitTypeDef* EXTI_InitStruct);//结构体初始化EXTI
void EXTI_StructInit(EXTI_InitTypeDef* EXTI_InitStruct);//初始化结构体
void EXTI_GenerateSWInterrupt(uint32_t EXTI_Line);//软件触发
FlagStatus EXTI_GetFlagStatus(uint32_t EXTI_Line);//程序读取中断标志位
void EXTI_ClearFlag(uint32_t EXTI_Line);//清除中断标志位
ITStatus EXTI_GetITStatus(uint32_t EXTI_Line);//中断函数里读取中断标志位
void EXTI_ClearITPendingBit(uint32_t EXTI_Line);//清除中断标志位

NVIC.H

void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup);//优先级分组
void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct);//初始化
void NVIC_SetVectorTable(uint32_t NVIC_VectTab, uint32_t Offset);//设置向量表位置和偏移量
@param NVIC_VectTab:指定向量表是在 RAM 还是闪存中。
void NVIC_SystemLPConfig(uint8_t LowPowerMode, FunctionalState NewState);//指定系统进入低功耗模式
void SysTick_CLKSourceConfig(uint32_t SysTick_CLKSource);//指定SysTick 时钟源

7.1.4实现

1.RCC开始GPIO,AFIO,EXTI,NVIC时钟(EXTI和NVIC不需要开启,上电后自动开启)

2.初始化GPIO,配置为上拉输入模式,读取外部引脚信号;

3.配置AFIO选择外部中断引脚,连接GPIO->AFIO->EXTI;

4.配置EXTI选择边沿触发方式,触发方式,连接EXTI->NVIC;

5.配置NVIC对优先级进行分组,设置抢占优先级和响应优先级,连接NVIC->CPU;

6.配置中断函数,在中断函数中执行,当产生中断时候计次++;

防止信号抖动,可以再次判断引脚电平;

7.使用OLED显示;

7.2机械触点式编码器计次 

在红外传感器基础上,额外配置一个通道即可

http://www.hlhnt8889177.com/news/319.html

相关文章:

  • 那些网站做推广中国刚刚发生8件大事
  • 小猫济南网站建设公司贵港seo关键词整站优化
  • 网站建设的方案输入关键词自动生成文章
  • 邢台做网站找谁优化营商环境心得体会1000字
  • 泉州企业制作网站关键词搜索工具有哪些
  • 淘宝城购物中心云浮seo
  • 网站开发客户的思路总结网络口碑营销案例
  • 芜湖先锋网站两学一做如何引流客源最快的方法
  • 凡科网站可以做自适应的吗如何优化网络延迟
  • 做网站的类型肇庆seo按天计费
  • 说服企业做网站搜狗指数官网
  • 余姚哪里有做淘宝网站的交换链接案例
  • 网站建设如何传视频教程品牌形象推广
  • 明星网页设计东莞优化排名推广
  • 做外贸都有哪些好网站谷歌seo和百度seo
  • 在线做GO分析的网站网络营销
  • 医院做网站备案都需要什么seo快速优化报价
  • 北京网站托管公司营销型企业网站建设步骤
  • 网站模板怎么用排超最新积分榜
  • 网站建设要考虑哪些内容自媒体论坛交流推荐
  • 网站建设钱爱站网seo查询
  • dede如何手机网站和电脑网站的数据同步更新seo研究协会
  • 长春做网站公司网上营销模式
  • 蚌埠网站建设专业的公司网络推广平台有哪些
  • 禹城网站建设网站模板中心
  • 高端网站建设必去磐石网络免费网页设计制作网站
  • 1688黄页网免费网站网络营销策略分析
  • 灰色网站市场调研报告怎么写的
  • 刘涛做的婴儿玩具网站浙江企业seo推广
  • 用买的服务器 做网站广州网络推广服务商