国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 3473|回復(fù): 0
打印 上一主題 下一主題

EXTI重復(fù)配置兩次導(dǎo)致誤觸發(fā)中斷的問(wèn)題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2016-9-29 09:55:55 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式


前言
有些工程師非常的小心,小心到甚至在程序中對(duì)一個(gè)外設(shè)配置完一次還不放心,還要再配置一次。這本身看起來(lái)沒(méi)有什么問(wèn)題,但是在特定的外設(shè)中,反而會(huì)不小心造成一些小問(wèn)題,比如這里所要說(shuō)的EXTI。

問(wèn)題
某客戶在其產(chǎn)品的設(shè)計(jì)中,使用了 STM32F302CCT6。客戶在開(kāi)發(fā)過(guò)程中,其所配置的 EXTI 外部中斷,在外部沒(méi)有中斷信號(hào)的情況下,上電后運(yùn)行程序,總是會(huì)進(jìn)入 EXTI 中斷程序一次。

調(diào)研
1.1.了解問(wèn)題
客戶在開(kāi)發(fā)中使用了 STM32F30x 的標(biāo)準(zhǔn)外設(shè)庫(kù)STM32F30x_DSP_StdPeriph_Lib_V1.2.3,在其程序設(shè)計(jì)中,參考了EXTI_Example 例程的代碼,一開(kāi)始在初始化過(guò)程中先執(zhí)行了一次 EXTI15_10_Config()將 PC13 設(shè)置為外部中斷口,設(shè)置為下降沿觸發(fā)中斷(PC13 外部有上拉電阻)。EXTI15_10_Config()函數(shù)原型如下:

客戶在后面的程序中,在使用 EXTI 之前再調(diào)用了一次EXTI15_10_Config()將 PC13 設(shè)置為外部中斷口。
調(diào)試運(yùn)行的時(shí)候,發(fā)現(xiàn) PC13 在沒(méi)有外部觸發(fā)下降沿信號(hào)的時(shí)候(經(jīng)示波器確認(rèn)),上電時(shí)總會(huì)進(jìn)入外部中斷服務(wù)程序EXTI15_10_IRQHandler中。
2.2.問(wèn)題分析
如果仔細(xì)研究過(guò)程序,其實(shí)這個(gè)問(wèn)題并不難知道。在執(zhí)行第一次的 EXTI15_10_Config()之后,PC13 作為 EXTI13 外部中斷已經(jīng)開(kāi)啟。在這種情況下,如果再執(zhí)行一次EXTI15_10_Config(),我們來(lái)看看這里邊究竟有什么情況?
仔細(xì)查看EXTI15_10_Config()的程序內(nèi)容,注意到這一句:
也就是說(shuō),EXTI15_10_Config()調(diào)用了SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOC, EXTI_PinSource13)來(lái)將 PC13配置為 EXTI13 中斷源。來(lái)看一下SYSCFG_EXTILineConfig 這個(gè)函數(shù)的原型,它存在于stm32f30x_syscfg.c 文件中。
SYSCFG_EXTILineConfig這個(gè)函數(shù)的執(zhí)行流程是這樣的:先將 SYSCFG_EXTICR 外部中斷配置寄存器中相對(duì)應(yīng)的位清零,然后再寫(xiě)入新值。
也就是說(shuō),在此 PC13 作為 EXTI13 中斷的例子中,當(dāng)執(zhí)行“SYSCFG->EXTICR[EXTI_PinSourcex>> 0x02] &=~tmp;”時(shí),SYSCFG_EXTICR4 的EXTI13[3:0]清零,將 EXTI13外部中斷的輸入源設(shè)置為 PA13(默認(rèn));再執(zhí)行“SYSCFG->EXTICR[EXTI_PinSourcex>> 0x02] |= (((uint32_t)EXTI_PortSourceGPIOx) << (0x04 *(EXTI_PinSourcex & (uint8_t)0x03)));”時(shí),SYSCFG_EXTICR4 的 EXTI13[3:0]寫(xiě)入值 0x02,將 EXTI13 外部中斷的輸入源選擇為 PC13。
由此,產(chǎn)生中斷的原因很清楚:
1. 第一次執(zhí)行 EXTI15_10_Config(),使能了 EXTI13 的中斷,中斷源來(lái)自 PC13;
2. 第二次執(zhí)行EXTI15_10_Config(),在調(diào)用 SYSCFG_EXTILineConfig 配置 EXTI13 中斷源時(shí),先將中斷源切回至PA13;由于失去了PC13 引腳上的高電平,在內(nèi)部產(chǎn)生了一個(gè)下降沿,因此觸發(fā)了 EXTI13 中斷(之前已被使能),進(jìn)入中斷服務(wù)程序執(zhí)行代碼;
3. 從中斷服務(wù)程序返回,再將 EXTI13 中斷源重新配置到 PC13。
所以,誤觸發(fā)而進(jìn)入中斷服務(wù)程序的原因就是這樣。
3.3.解決問(wèn)題
問(wèn)題解決很簡(jiǎn)單,EXTI13 既然已經(jīng)配置好了,就不要再去重復(fù)進(jìn)行配置了,沒(méi)有必要,浪費(fèi)效率且造成小問(wèn)題。要使用和不要使用只要通過(guò)操作 EXTI_IMR 寄存器使能或禁用相應(yīng)的中斷就可以了。如果在特殊情況下非要重新配置的話,也要注意一下這個(gè)問(wèn)題,先禁用中斷。
結(jié)論
由于 SYSCFG_EXTILineConfig()函數(shù)在配置 EXTI 中斷源時(shí),會(huì)先將中斷源配置到默認(rèn)中斷源后再配置到實(shí)際要使用的中斷源,這樣重復(fù)執(zhí)行EXTI15_10_Config()就存在著誤觸發(fā)中斷的風(fēng)險(xiǎn),需加以注意。

處理
去掉重復(fù)配置的代碼即可。

重要通知 - 請(qǐng)仔細(xì)閱讀
意法半導(dǎo)體公司及其子公司(“ST”)保留隨時(shí)對(duì)ST 產(chǎn)品和/ 或本文檔進(jìn)行變更、更正、增強(qiáng)、修改和改進(jìn)的權(quán)利,恕不另行通知。買(mǎi)方訂貨之前應(yīng)獲取關(guān)于ST 產(chǎn)品的最新信息。ST 產(chǎn)品的銷(xiāo)售依照訂單確認(rèn)時(shí)的相關(guān)ST 銷(xiāo)售條款。
買(mǎi)方自行負(fù)責(zé)對(duì)ST 產(chǎn)品的選擇和使用, ST 概不承擔(dān)與應(yīng)用協(xié)助或買(mǎi)方產(chǎn)品設(shè)計(jì)相關(guān)的任何責(zé)任。
ST 不對(duì)任何知識(shí)產(chǎn)權(quán)進(jìn)行任何明示或默示的授權(quán)或許可。
轉(zhuǎn)售的ST 產(chǎn)品如有不同于此處提供的信息的規(guī)定,將導(dǎo)致ST 針對(duì)該產(chǎn)品授予的任何保證失效。
ST 和ST 徽標(biāo)是ST 的商標(biāo)。所有其他產(chǎn)品或服務(wù)名稱(chēng)均為其各自所有者的財(cái)產(chǎn)。
本文檔中的信息取代本文檔所有早期版本中提供的信息。




文章來(lái)源:微信公眾號(hào)  融創(chuàng)芯城(一站式電子元器件、PCB、PCBA購(gòu)買(mǎi)服務(wù)平臺(tái),項(xiàng)目眾包平臺(tái))

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品欧美综合 | 天堂在线最新版www中文 | 牛牛在线精品免费视频观看 | 国产一区二区三区免费视频 | 日韩精品一区二区三区毛片 | 亚洲zscs综合网站 | 绿巨人香蕉草莓丝瓜茄子番茄在线 | 妻子的诱惑03中文字幕 | 韩剧伦理年轻的嫂子6在线观看 | 上海一级毛片 | 拍拍叫痛的无挡视频免费 | 看免费5xxaaa| 91av网址| 青青青国产在线视频 | 亚洲国产成人久久综合一区 | 一级毛片大全 | 国产精品久久久久久久成人午夜 | 久久黄色一级视频 | 欧美黄色片在线 | 欧美不卡视频在线 | 久久久久久久久66精品片 | 日本夫妇交换456高清 | 99亚洲视频 | 韩国一级黄色大片 | 久久99精品国产麻豆不卡 | 欧美激情一二区 | 九九热视频这里只有精品 | 激情亚洲视频 | 亚洲欧美日韩综合在线播放 | 97在线观看永久免费视频下载 | 免费国产成高清人在线视频 | 亚洲男人天堂视频 | 日韩欧美一区二区三区在线播放 | 四虎影永久在线观看精品 | 四虎影视国产精品亚洲精品hd | 亚洲国产精品免费观看 | 日本在线观看的免费 | 91视频免费观看网站 | 日本高清在线精品一区二区三区 | 成人动漫在线观看网站 | 老师的小兔子好大好软水好多视频 |