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

网站最近不收录用模板快速建站

网站最近不收录,用模板快速建站,北京电信备案网站,普通政府网站 多少钱1.中断中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并且立即转入处理新情况的程序(中断服务函数),处理完毕后又返回原被暂停的程序继续运行。中断在单片机中的应用中断是一种…

1.中断

中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并且立即转入处理新情况的程序(中断服务函数),处理完毕后又返回原被暂停的程序继续运行。

中断在单片机中的应用

中断是一种硬件处理机制(中断控制NVIC--内核),只要触发中断的事件设置好之后,就不需要软件代码查询是否发生,由硬件部分检测处理事件是否发生。

中断属于内核的,中断本身是一种异常,此种异常是可控,我们成为中断

中断的作用主要是为了提高CPU的工作效率。

中断的特性:快速响应,只要触发的事件满足,就会立即执行中断服务函数

中断服务函数:快进快出,不能存在大量的延时函数,或者循环语句

一般都是用于获取某个事件标志,具体的执行内容,我们可以自己编写功能函数

优先级:主要应用多个中断在同一个程序中同时使用的时候,数字越小优先级越高

占先优先级:具备可以打断正在执行的中断

次级优先级:不具备打断正在执行的中断,但是可以确定未执行的,在占先优先级相同的情况下,其他终端的执行顺序。

单片机中的中断通道和优先级(ST在内核基础上做了修改)

我们在使用优先级的时候,首先需要确定分组,然后再次设置优先级;

中断嵌套:当一个中断设置完成之后,在此中断中还有其他中断的出发事件

事件:不是所有的事件都可以产生中断,这个是需要参考手册。(DMA的数据传输部分就不能产生中断,LED灯跳变也不可以产生中断,KEY可以产生中断 usart也可以产生中断)

内核中关于异常的解释:

NVIC--管理中断

NVIC 支持 240 个优先级可动态配置的中断,每个中断的优先级有 256 个选择。低延迟的中断处理可以通过紧耦合的 NVIC 和处理器内核接口来实现, 让新进的中断可以得到有效的处理。 NVI 通过时刻关注压栈(嵌套)中断来实现中断的末尾连锁( tail-chaining)。

nvic主要用于管理中断,其实就是设置我们需要用到的中断的优先级。

中断服务函数:(由系统设置,工程师主要是去定义此函数,注意名字不可修改)

启动代码:使用汇编

中断服务函数的名字全部都是来源于启动代码中

代码的实现部分,参考相关工程

//如何去触发中断--以接收中断
void usart1_IrqSet(void)
{//设置中断事件为--接收中断USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);//设置NVIC--分组  优先级NVIC_SetPriorityGrouping(0x05);NVIC_SetPriority(USART1_IRQn,5);//占先优先级:1 次级优先级:1 NVIC_EnableIRQ(USART1_IRQn);}

按键中断设置

按键在执行过程中,整个流程是怎么样的???

PE4为例:

空闲状态--高电平

按键被按下--由高到低跳变(下降沿)

按键被释放--由低到高跳变(上升沿)

按键中触发中断的事件--跳变沿

外部中断控制器(EXTI)

外部中断/事件控制器由19个能产生事件/中断请求的边沿检测器。

每个输入线(单片机内部管理外部中断的总线)可以独立地配置输入类型(脉冲或挂起)和对应的触发事件(上升沿或下降沿或者双边沿都触发)。

每个输入线都可以独立地被屏蔽。

挂起寄存器保持着状态线的中断请求。

主要特性:

● 每个中断/事件都有独立的触发和屏蔽

● 每个中断线都有专用的状态位

● 支持多达19个软件的中断/事件请求

● 检测脉冲宽度低于APB2时钟宽度的外部信号。

外部中断整体框图:

寄存器部分:

确定映射关系--PE4映射到EXIT4中断线上,同一时间,只能有一个IO口映射到对应的中断线上。

设置中断触发的事件--跳变沿

配置20个中断线的屏蔽位(EXTI_IMR)

跳变沿检测部分:

中断服务程序函数名字:

EXTI4_IRQHandler

总结一下按键中断操作流程:

1.KEY的驱动(初始化-时钟 工作模式 输入检测)---库函数

2.中断--映射关系(打开AFIO的时钟 PE4和EXTI4做对应)--寄存器(简单)

3.中断服务程序--(当前的中断线的事件是否触发--挂起寄存器)

LED灯反转 、串口打印数据

void Key_Interrupt(void)
{RCC->APB2ENR |=(0X01<<0);AFIO->EXTICR[1]|=(0x04<<0);EXTI->IMR|=(0x01<<4);EXTI->RTSR |=(0x01<<4);NVIC_SetPriority(EXTI4_IRQn,6);NVIC_EnableIRQ(EXTI4_IRQn);
}
u8 flag=0;
void EXTI4_IRQHandler(void)
{if((EXTI->PR&(0X01<<4))){EXTI->PR |=(0X01<<4);//清零
//        printf("进入中断\r\n");flag=!flag;LED1(flag);}
}

库文件中关于地址的分类存储

#define AFIO                ((AFIO_TypeDef *) AFIO_BASE)
#define AFIO_BASE             (APB2PERIPH_BASE + 0x0000)
#define APB2PERIPH_BASE       (PERIPH_BASE + 0x10000)
#define PERIPH_BASE           ((uint32_t)0x40000000)
0x40000000+0x10000+0x0000=0x40010000

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

相关文章:

  • 深圳华强北的苹果手机是不是正品搜索引擎优化seo网站
  • 优化营商环境指什么北京百度seo服务
  • 微信扫码抢红包网站做成都门户网站建设
  • 注册送38元的游戏网站网推是干什么的
  • 学网站开发需要多久推广手段和渠道有哪些
  • 服务性企业网站发布外链的平台有哪些
  • 那种退不掉的网站怎么做的dz论坛seo
  • 国内做设备网站哪些好网页优化包括什么
  • 自己做网站建设百度 营销推广费用
  • 网站开发应注意哪些问题辽宁好的百度seo公司
  • 手机网站建设定制网站运营主要做什么
  • 优秀的门户网站360竞价推广
  • 网站结构框架图怎么做关于网络营销的方法
  • 做外贸采购都是用什么网站收录情况有几种
  • 网站付款接口这么做如何制作网站链接
  • 个人装修队seo网站推广技术
  • 西安营销型网站制作北京seo优化费用
  • 英文网站外链查询手机广告推广软件
  • 怎么做漫画网站制作一个网站的基本步骤
  • 哪个网站卖做阳具好点南京最大网站建设公司
  • 汕尾做网站建个网站需要多少钱
  • 网站开发框架有哪些杭州seo中心
  • 网站怎么做接口百度信息流投放技巧
  • 全屏网站 功能网络推广文案策划
  • 简单的html网页设计搜索引擎优化的意思
  • 郑州网站建设与设计整站关键词排名优化
  • 高端网站设计简介网络推广精准营销推广
  • 做pc端网站怎么样太原百度搜索排名优化
  • 网站开发中职责google首页
  • 大连百度推广seowindows7优化大师下载