久久久久久久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://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
www.桃色
|
特大黑人巨交吊性xxxx视频
|
91久久国产综合久久91
|
99热综合
|
综合伊人久久
|
日韩中文字幕一区二区
|
日韩av专区
|
精品国产99久久久久久宅男i
|
黄色小视频在线免费观看
|
亚洲黄色一级
|
五月婷婷av
|
成人在线视频免费
|
99精品网站
|
国产精品一二三四区
|
久久免费小视频
|
久久精品美女
|
亚洲欧美另类在线
|
久草黄色
|
成人a视频
|
av最新在线
|
中文字幕免费在线
|
精品在线看
|
三级网站免费
|
国产小视频在线
|
成年人一级片
|
日韩在线欧美
|
色吧综合
|
久久精品亚洲
|
亚洲69视频
|
日本天堂在线
|
亚洲午夜久久
|
三级网站在线播放
|
国产区在线视频
|
亚洲精品影院
|
欧美在线网址
|
www.久久.com
|
中文字幕免费av
|
国产精品久久久久久久久久久久久
|
免费在线观看黄色网址
|
精品一区二区在线视频
|
久久成人国产
|