久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2894|回復: 1
打印 上一主題 下一主題
收起左側

STM32 禁用或開啟總中斷

[復制鏈接]
跳轉到指定樓層
樓主
ID:59284 發表于 2014-3-2 18:08 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
      STM32在使用時有時需要禁用全局中斷,比如MCU在升級過程中需禁用外部中斷,防止升級過程中外部中斷觸發導致升級失敗。

ARM MDK中提供了如下兩個接口來禁用和開啟總中斷:
__disable_irq();   // 關閉總中斷
__enable_irq();    // 開啟總中斷        但測試發現這樣一個問題,在關閉總中斷后,如果有中斷觸發,雖然此時不會引發中斷,但在調用__enable_irq()開啟總中斷后,MCU會立即處理之前觸發的中斷。這說明__disable_irq()只是禁止CPU去響應中斷,沒有真正的去屏蔽中斷的觸發,中斷發生后,相應的寄存器會將中斷標志置位,在__enable_irq()開啟中斷后,由于相應的中斷標志沒有清空,因而還會觸發中斷。所以要想禁止所有中斷,必須對逐個模塊的中斷進行 Disable操作,由于每個模塊中斷源有很多,對逐個中斷Disable的話比較復雜,較為簡單的方法是通過 XXX_ClearITPendingBit()清除中斷標志或者直接通過XXX_DeInit()來清除寄存器的狀態。這樣在 __enable_irq()開啟總中斷后,MCU就不會響應之前觸發的中斷了。



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:428438 發表于 2019-9-4 09:59 | 只看該作者
不錯,學習了。之前對這也有點疑問,不知道是否會丟失中斷。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 97人人澡人人爽91综合色 | 国产精品v | 一区二区三区在线免费观看视频 | 在线播放国产一区二区三区 | 91精品国产麻豆 | 久草视频网站 | 亚洲综合色视频在线观看 | 超碰在线97国产 | 国产特一级黄色片 | 亚洲一区二区视频 | 精品欧美一区二区三区久久久 | 99re6在线视频精品免费 | 国产目拍亚洲精品99久久精品 | 亚洲电影成人 | 91精品久久久久久久久久入口 | 羞羞视频免费在线 | 桃花av在线| 国产精品一区二区三区在线播放 | 久久久一区二区三区 | 国产在线观看网站 | 国产高清精品一区二区三区 | 精品欧美一区二区三区久久久 | 黄色一级大片在线免费看产 | 精品国产乱码久久久久久牛牛 | 高清视频一区二区三区 | 看a网站 | 亚洲a一区二区 | 国产日韩亚洲欧美 | 国产成人99av超碰超爽 | 亚洲国产网 | 日本中文字幕在线视频 | 欧美最猛性xxxxx亚洲精品 | cao视频| 91精品国产91久久综合桃花 | 91啪亚洲精品| 欧美一级特黄aaa大片在线观看 | а_天堂中文最新版地址 | 福利社午夜影院 | 99re66在线观看精品热 | 中文字幕免费在线 | 日本一区二区在线视频 |