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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 11046|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

STM32系列MCU芯片開關(guān)總中斷的話題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:98618 發(fā)表于 2015-12-8 03:09 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
整理:MilerShao

時(shí)不時(shí)會(huì)有人詢問基于ARM CORTEX Mn 內(nèi)核的STM32各系列MCU芯片應(yīng)用開發(fā)時(shí)開、關(guān)總中斷的函數(shù)或指令的話題,尤其最近,頻繁有人問起STM32F0系列 MCU關(guān)閉總中斷的問題,其中有些人還是用過STM32F1系列芯片的,說找不到相應(yīng)的函數(shù)。

隨著基于CORTEX Mn 各內(nèi)核的MCU芯片越來越多和相關(guān)編譯工具的升級(jí)換代,編譯工具在有關(guān)內(nèi)核指令操作的文檔安排及函數(shù)書寫等方面可能會(huì)發(fā)生些細(xì)微變化。 所以即使用過STM32F1系列產(chǎn)品的工程師,在使用較晚推出的STM32F0芯片開發(fā)時(shí)發(fā)現(xiàn)那些跟內(nèi)核操作有關(guān)的指令或函數(shù)不知哪里去找了。以STM32各系列的標(biāo)準(zhǔn)固件庫為例,與內(nèi)核有關(guān)的指令及函數(shù)都可以在...\LIBRARIES\CMSIS\...后面目錄的相關(guān)文件里找到。于不同系列的標(biāo)準(zhǔn)固件庫中所對(duì)應(yīng)的子目錄及相關(guān)文件名略有差異。

一般來講,我們是不用或者說用不著做總中斷的關(guān)閉動(dòng)作的,或許個(gè)別時(shí)刻可能真有需要。當(dāng)然也不排除部分人可能出于之前使用別的MCU開發(fā)習(xí)慣或者好奇想知道怎么用。這里簡單地分享下。

這個(gè)開、關(guān)STM32芯片總中斷的指令,是針對(duì)ARM CORTEX內(nèi)核的操作指令。在各ARM內(nèi)核編程手冊(cè)上一定可以找到,但在STM32芯片相關(guān)技術(shù)手冊(cè)上是找不到的。開、關(guān)總中斷的匯編指令分別就是CPSIE i、CPSID i,對(duì)于各個(gè)ARM CORTEX系列MCU芯片來說,都是一樣的。

目前各編譯工具都把與內(nèi)核相關(guān)ARM指令根據(jù)指令功能將其中某一條或幾條匯編指令封裝為C函數(shù),函數(shù)名相對(duì)更為直觀、好記,方便用戶需要時(shí)拿來使用。比方在ARM MDK環(huán)境下,上面兩個(gè)開關(guān)總中斷的指令封裝成如下2個(gè)內(nèi)嵌函數(shù)。

1、關(guān)閉【或禁用】總中斷的指令函數(shù):

__attribute__( ( always_inline ) ) __STATIC_INLINE void __disable_irq(void)

{

__ASM volatile ("cpsid i" : : : "memory");

}


2、開啟【或使能】總中斷的指令函數(shù)【芯片復(fù)位后總中斷時(shí)默認(rèn)打開的,即使能的】:

__attribute__( ( always_inline ) ) __STATIC_INLINE void __enable_irq(void)

{

__ASM volatile ("cpsie i" : : : "memory");

}


需要關(guān)閉總中斷時(shí),在用戶代碼里直接放置 __disable_irq( );

需要開啟總中斷時(shí),在用戶代碼里直接放置 __enable_irq( ); 。注意是下劃線是兩個(gè)橫杠。

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

使用道具 舉報(bào)

沙發(fā)
ID:276663 發(fā)表于 2018-5-23 17:55 | 只看該作者
為什么STM32在手冊(cè)里不寫這個(gè)啊,像51很清楚的。難道是有什么特殊原因??

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩中文字幕一区二区 | 99re6在线视频 | 久久91| 在线播放日韩 | 亚洲免费在线 | 亚洲一区二区三区在线免费观看 | 欧美一级大片免费看 | 日韩中文字幕在线观看 | 久久的色 | 2022精品国偷自产免费观看 | 国产免费让你躁在线视频 | 亚洲一区二区久久久 | 久草免费在线视频 | 中文字幕一级毛片 | 日本网站免费在线观看 | 久久久久免费观看 | 艹逼网 | 日韩三级在线观看 | 亚洲一区免费视频 | 精品九九 | 欧美 日本 国产 | 日韩在线h | 婷婷国产一区二区三区 | 国产精品福利视频 | 精品香蕉一区二区三区 | 91成人精品| 精品一区二区久久久久久久网站 | 欧美一级二级视频 | 午夜理伦三级理论三级在线观看 | 国产在线精品一区二区 | 亚洲国产精品一区在线观看 | 日韩欧美国产精品一区二区 | 国产精品a免费一区久久电影 | 在线国产一区二区 | 国产一区影院 | 一级毛片视频 | 国产美女永久免费无遮挡 | 久久亚洲国产精品 | 亚洲午夜视频在线观看 | 天天干天天爽 | 日本一区二区在线视频 |