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

自己做个购物网站网络建站优化科技

自己做个购物网站,网络建站优化科技,如何打开网站,柳河县做网站一、NVIC是什么? NVIC是一种中断控制器。当一个中断正在处理时,另一个更高优先级的中断可以打断当前中断的执行,并立即得到处理。这种机制使得处理器在高速运行的同时,能够及时响应不同优先级的中断请求。 二、有哪些优先级&…

一、NVIC是什么?

NVIC是一种中断控制器。当一个中断正在处理时,另一个更高优先级的中断可以打断当前中断的执行,并立即得到处理。这种机制使得处理器在高速运行的同时,能够及时响应不同优先级的中断请求。

二、有哪些优先级?(只有抢占优先级才会发生中断嵌套!!

抢占优先级: 抢占优先级是指中断的打断优先级,抢占优先级高的中断可以打断正在执行的抢占优先级低的中断。
响应优先级: 响应优先级是指中断的响应顺序,响应优先级只有在抢占优先级相同的情况下才有意义。当抢占优先级相同时,俩个中断同时发生,响应优先级高的中断先响应。
自然优先级: 按照自带的优先级编号(硬件固定)在抢占和响应优先级相同的情况下决定先执行哪个中断,数字越小级别越高。这个是由厂家设计好的。
每个中断源的抢占优先级和响应优先级由用户决定(软件设置),而自然优先级已经被硬件固定, 不可更改。优先级越高其对应的值越低。数字越小,优先级越高。

三、什么是中断嵌套?

答:通俗来讲就是停止当前正在进行的任务去执行抢占优先级更高的中断任务。
例如:A的抢占优先级为0,B的抢占优先级为1。则当两个中断请求同时发生时,先执行抢占优先级高的A。但是当CPU正处理B时发生了A的中断请求,则停止执行B,先去执行A的中断,当执行完A中断后再去执行剩下的B程序。这就是中断嵌套。

四、优先级的优先等级(序号越低,优先级越高)

(1)优先级大小:抢占优先级>响应优先级>自然优先级。
(2)抢占优先级相同,响应优先级不同,则先处理响应优先级高的。但是响应优先级没有中断嵌套。
例:如果A的抢占优先级为0,B的抢占优先级也为0。A的响应优先级为0,B的响应优先级为1。则两个同时发生中断请求时,在抢占优先级相同时先处理响应优先级高的A。但是如果CPU正在处理B时发生了A的中断请求,则继续执行B,当B完成后再执行A。因为响应优先级不会发生中断嵌套。
(3)如果抢占优先级和响应优先级都相同,则比较它们的硬件中断编号(自然优先级),中断编号越小,优先级越高。(硬件中断编号从中断向量表中查看)

五、优先级分组

Core-M4内核最多支持256级的可编程优先级。用8位来表示优先级级别,,优先级级别分为8组,分别是组0~组7。但是ST公司设计STM32F407ZGT6时,为了精简设计,只用了16 个可编程优先级(使用了 高四位4 位来设置中断优先级,设置低四位的值是无效的)。所以不同的芯片优先级分组会有不同。

以STM32F407ZGT6为例:

分组配置寄存器SCB->AIRCR。
由 3bit ( AIRCR[10:8] ) 控制抢占优先级与响应优先级分别占几位。
由 4bit ( IP bit[7:4] ) 控制不同的优先级决定中断发生的先后。
在这里插入图片描述

IP bit[7:0]:
在这里插入图片描述

STM32的中断优先级使用4~7共4个位控制。抢占优先级占2位有4种选择,响应优先级占2位有4种选择,故中断共可配置16种优先级。
例如:要配置2位抢占优先级,2位响应优先级,就需先配置 寄存器AIRCR[10:8]的数值为101。
注意:一般情况下,系统代码执行过程中,只设置一次中断优先级分组,设置好分组之后一般不会再改变分组。随意改变分组会导致中断管理混乱,程序出现意想不到的执行结果。如果设置了多次,则以最后一次为准。

六、优先级设置示例

例如在同一工程项目中有TIM3_IRQn、USART1_IRQn。优先级配置如下(可根据自己目的修改)。
(1)方式一:用结构体配置

●TIM3_IRQn优先级设置:

	NVIC_InitTypeDef NVIC_InitStructure; //结构体重命名NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;  //选择通道(要中断的对象)NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;  //设置抢占优先级NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;  //设置响应优先级NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //通道使能NVIC_Init(&NVIC_InitStructure);  //根据以上参数初始化NVIC寄存器

●USART1_IRQn优先级设置:

	NVIC_InitTypeDef NVIC_InitStructure; //结构体重命名NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority= 3;//抢占优先级3NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;		//子优先级3NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;			//IRQ通道使能NVIC_Init(&NVIC_InitStructure);	//根据指定的参数初始化VIC寄存器**

●该方式相应的优先级分组函数:

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置中断分组,一般在初始化中进行

如当我们选择优先级分组为2时,则有2个位决定抢占优先级,2个位决定响应优先级。抢占优先级两个位有4种选择值:00、01、10、11。分别是0~3(不能超过,除非先修改优先级组)。响应优先级同理。
●优先级分组在主函数中初始化:
这个函数: NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
参数可选:(序号对应下图的组)
NVIC_PriorityGroup_0
NVIC_PriorityGroup_1
NVIC_PriorityGroup_2
NVIC_PriorityGroup_3
NVIC_PriorityGroup_4
在这里插入图片描述●主函数:

int main(void) {// 配置中断优先级分组NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 其他初始化工作// 主循环或其他操作while (1) {// 主程序逻辑}
}

当配置好优先级后,当中断响应时就可以根据优先级响应规则进行处理。规则如上文标题四中所示。

(2)方式二:直接用函数配置
●合成优先级值函数:

NVIC_EncodePriority(5,1,2);

NVIC_EncodePriority() 由三个参数组成: 5 表示优先级组号(下图中红框圈住的号,而不是红框前面的组的数字),1 表示抢占优先级,2 表示响应优先级。
在这里插入图片描述

●如配置SysTick_IRQn中断优先级代码如下:

	NVIC_SetPriority(SysTick_IRQn,NVIC_EncodePriority(5,1,2));  // 设置SysTick_IRQn中断优先级NVIC_EnableIRQ(SysTick_IRQn);    //使能SysTick_IRQn的NVIC响应。

NVIC_SetPriority ()函数的第一个参数是中断号,这里是 SysTick_IRQn,表示 SysTick 定时器的中断。第二个参数是优先级值,通过 NVIC_EncodePriority() 函数生成。该函数用于设置优先级。
NVIC_EnableIRQ(SysTick_IRQn) :这行代码用于使能 SysTick 中断。通过这个函数,你告诉 NVIC 可以响应 SysTick 中断。

●该方式相应的设置优先组函数:

 NVIC_SetPriorityGrouping(5);

该函数参数和NVIC_EncodePriority函数第一个参数一致,具体参数设置如上述NVIC_EncodePriority函数第一个参数所示。

●主函数:

int main(void) {// 配置中断优先级分组NVIC_SetPriorityGrouping(5);// 其他初始化工作// 主循环或其他操作while (1) {// 主程序逻辑}
}
http://www.mmbaike.com/news/96083.html

相关文章:

  • 常州工厂网站建设谷歌手机版浏览器官网
  • 手机网站建设 上海长沙网站优化推广
  • 网页版梦幻西游奔波儿灞宁波网站推广优化
  • 网站推广怎么做优化培训心得体会总结
  • 网站后台账号密码忘记了西安网站推广慧创科技
  • 拼多多找货源哪里找谷歌seo优化
  • 东莞做一个企业网站要多少钱网站交易
  • 做视频网站需要多大的带宽快速排名软件案例
  • 如何做网站授权seo是干什么的
  • 外贸公司用什么建网站电商seo是什么意思啊
  • 高唐网站建设磁力狗在线搜索
  • 深圳html5网站推广价格成都网站建设创新互联
  • 教育机构网站建设方案微信营销的方法
  • 企业建设网站的价值中小企业网站制作
  • 山东省城乡住房建设厅网站网页seo
  • 大华建设项目管理有限公司网站营销型网站建设多少钱
  • 谁帮58同城做的网站吗长春网站建设开发
  • 做地产的设计网站百度开户需要什么资质
  • WordPress抓取豆瓣网站优化推广怎么做
  • 网站设计开发软件网络营销的概念和特征
  • 自己本地可以做网站服务器吗百度交易平台官网
  • 怎样下载手机app泰州seo排名扣费
  • 北京做网站的公司排行2022真实新闻作文400字
  • 怎么建立公司的网站吗品牌营销推广策划方案
  • 网站备案文件吗西安优化外包
  • 沙坪坝做网站5118素材网站
  • wordpress the_tag南宁seo优势
  • 网络代理是什么站长之家seo综合
  • 基于wordpress课程网站设计php毕业论文网站推广是什么意思
  • 九江本土专业网站建设东莞网络优化哪家好