电工技术基础_电工基础知识_电工之家-电工学习网

欢迎来到电工学习网!

stm32外部接连引脚功用阐明

2017-09-26 14:04分类:电子技术 阅读:

 

使能装备EXTI、NVIC接连后,还需求留神IO口时钟的使能。当然要装备EXIT,有必要使能AFIO时钟。

下面简略列出外部接连的编程思路:

1、体系初始化,如体系时钟初始化,使之进入72MHZ主频;(这一个不必定)

2、GPIO装备,有必要留神翻开GPIO时钟时,必定翻开AFIO时钟。

3、EXTI装备,在这儿装备需求挑选哪个引脚作为接连引脚。

4、NVIC装备,这也是比单片机多出来的有些,咱们有必要把NVIC中对应

的通道使能,而且设置优先等级。

5、运用while(1)进行死循环,并在接连程序中写入接连发作时应怎么处理。

下面介绍一下STM32抢占优先级的疑问:

Cortex-M3共运用8位来设置优先级,有优先级组设置,以及抢占和子优先级装备、

在STM32中,运用4位来设置优先级。


对于同一抢占优先级的接连来说,即即是子优先级高的也不能接连正在施行的接连,只需高抢占优先级的接连方可接连正在施行中的接连。还有一些疑问,有待进一步处理。

下边的五行我自个认为是stm32的对于嵌套接连的说法:

0位抢占优先级,4位子优先级:设置为16级子优先级,不运用抢占式优先级;
1位抢占优先级,3位子优先级:设置为8级子优先级,2级抢占式优先级;
2位抢占优先级,2位子优先级:设置为4级子优先级,4级抢占式优先级;
3位抢占优先级,1位子优先级:设置为2级子优先级,8级抢占式优先级;
4位抢占优先级,0位子优先级:设置为不运用子优先级,16级抢占式优先级;


在STM32/Cortex-M3中是经过改动CPU的其时优先级来容许或阻遏接连。


PRIMASK位:只容许NMI和hard fault反常,别的接连/反常都被屏蔽(其时CPU优先级=0)。
AULTMASK位:只容许NMI,别的悉数接连/反常都被屏蔽(其时CPU优先级=-1)。

在STM32固件库中(stm32f10x_nvic.c和stm32f10x_nvic.h) 界说了四个函数操作PRIMASK位和FAULTMASK位,改动CPU的其时优先级,然后抵达操控悉数接连的意图。

下面两个函数等效于封闭总接连:
void NVIC_SETPRIMASK(void);
void NVIC_SETFAULTMASK(void);

下面两个函数等效于翻开总接连:
void NVIC_RESETPRIMASK(void);
void NVIC_RESETFAULTMASK(void);

上面两组函数要成对运用,但不能穿插运用。

例如:

榜首种办法:
NVIC_SETPRIMASK(); //封闭总接连
NVIC_RESETPRIMASK();//翻开总接连

第二种办法:
NVIC_SETFAULTMASK(); //封闭总接连
NVIC_RESETFAULTMASK();//翻开总接连

常常运用:
NVIC_SETPRIMASK(); // Disable Interrupts
NVIC_RESETPRIMASK(); // Enable Interrupts

上一篇:啥是可编程逻辑器材?可编程逻辑器材有哪些?

下一篇:整流桥原理及命名规矩

相关推荐

电工推荐

    电工技术基础_电工基础知识_电工之家-电工学习网
返回顶部