久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
STM32開關總中斷
[打印本頁]
作者:
niuniu
時間:
2015-6-9 02:58
標題:
STM32開關總中斷
在 STM32/Cortex-M3 中是通過改變 CPU的當前優先級來允許或禁止中斷。
PRIMASK 位:只允許 NMI 和 hard fault異常,其他中斷/ 異常都被屏蔽(當前 CPU優先級=0)。
FAULTMASK 位:只允許 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(); // DisableInterrupts
NVIC_RESETPRIMASK(); // EnableInterrupts
-------------------------------------------------------------------------------------------------
在 3.0 的庫中 已經沒有
第一種方法:
NVIC_SETPRIMASK(); //關閉總中斷
NVIC_RESETPRIMASK(); //開放總中斷
第二種方法:
NVIC_SETFAULTMASK(); //關閉總中斷
NVIC_RESETFAULTMASK(); //開放總中斷
補充 可以用
#define CLI() __set_PRIMASK(1)
#define SEI() __set_PRIMASK(0)
來實現 (野火的例程用的庫版本是3.0的,需要使用補充的方法)
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
欧美美乳
|
久久伊人免费视频
|
人人看人人搞
|
在线视频一区二区三区
|
亚洲人成人一区二区在线观看
|
亚洲精品视频免费
|
欧美jizzhd精品欧美巨大免费
|
无毛av
|
日韩av在线不卡
|
欧美福利在线
|
成人一区二区三区
|
日韩欧美精品在线播放
|
亚洲风情在线观看
|
欧美人妇做爰xxxⅹ性高电影
|
成人免费av
|
欧美日韩成人在线
|
久久日韩粉嫩一区二区三区
|
国产精品久久一区二区三区
|
色视频www在线播放国产人成
|
亚洲人久久
|
成人在线观看欧美
|
一级欧美
|
中文字幕在线观看一区
|
中文字幕人成乱码在线观看
|
久久久999免费视频 999久久久久久久久6666
|
超碰97免费在线
|
日韩精品一区二区三区第95
|
五月天综合网
|
国产精品黄视频
|
国产福利网站
|
亚洲最大的黄色网址
|
国产亚韩
|
日韩激情一区
|
国产成人精品一区
|
日韩日韩日韩日韩日韩日韩日韩
|
美女黄色在线观看
|
婷婷久久综合
|
aaaa一级毛片
|
午夜男人天堂
|
久久精品久久精品
|
国产精品免费在线
|