EXTI(External interrupt/event controller)—外部中斷/事件控制器,管理了控制器的20個(gè)中斷/事件線。每個(gè)中斷/事件線都有一個(gè)邊緣檢測(cè)器,可以實(shí)現(xiàn)對(duì)輸入信號(hào)的上升沿或下降沿檢測(cè)。EXTI可以實(shí)現(xiàn)對(duì)每個(gè)中斷/事件線進(jìn)行單獨(dú)的配置,可以單獨(dú)配置為中斷或者事件,以及觸發(fā)事件的屬性。
如下圖所示,為EXTI的功能框圖。EXTI有兩個(gè)功能,一個(gè)是產(chǎn)生中斷,一個(gè)是產(chǎn)生事件,下面我們將對(duì)這兩個(gè)功能進(jìn)行講解。
1.中斷產(chǎn)生
如上圖所示,紅色虛線指示的是一個(gè)產(chǎn)生中斷的線路,最終流入到NVIC中斷控制器內(nèi)。
編號(hào)1是輸入線,可以指定到任意的GPIO,也可以是一些外設(shè)事件,輸入線一般是存在電平變化的信號(hào)。
編號(hào)2是邊緣檢測(cè)電路,用來(lái)檢測(cè)輸入線的信號(hào)是否存在指定的電平變化,如上升沿、下降沿或任意兩者都可,由EXTI_RTSR 和 EXTI_FTSR兩個(gè)寄存器設(shè)置檢測(cè)哪些電平變化過(guò)程。
編號(hào)3是一個(gè)或門,輸入信號(hào)來(lái)自邊沿檢測(cè)電路,另外一個(gè)信號(hào)來(lái)自軟件中斷事件寄存器(EXTI_SWIER)。我們可以從軟件或硬件產(chǎn)生中斷/事件。
編號(hào)4是一個(gè)與門,編號(hào)3電路產(chǎn)生信號(hào)且中斷屏蔽寄存器(EXTI_IMR)開啟后,出書信號(hào)到NVIC中
2.事件產(chǎn)生
編號(hào)7是脈沖發(fā)生器電路,線路6產(chǎn)生信號(hào)1時(shí)本線路產(chǎn)生一個(gè)脈沖信號(hào),該脈沖信號(hào)可以給其他外設(shè)電路使用,比如定時(shí)器TIM、ADC等等。
產(chǎn)生中斷線路目的是把輸入信號(hào)輸入到NVIC,進(jìn)一步會(huì)運(yùn)行中斷服務(wù)函數(shù),屬于軟件級(jí)別的;而產(chǎn)生事件目的就是傳輸一個(gè)脈沖信號(hào)給其他外設(shè)使用,屬于電路級(jí)的傳輸,屬于硬件級(jí)的。
中斷事件線
EXTI有20個(gè)中斷/事件線,每個(gè)GPIO都可以被設(shè)置成輸入線
EXTI初始化
HAL庫(kù)函數(shù)的EXTI初始化非常簡(jiǎn)單,配置好IO口的模式,然后配置中斷源、中斷優(yōu)先級(jí)、使能中斷
1) HAL_NVIC_SetPriority:該函數(shù)負(fù)責(zé) EXTI 中斷/事件線選擇,可選 EXTI0 至 EXTI25,配置優(yōu)先級(jí)。
2) HAL_NVIC_EnableIRQ:該函數(shù)負(fù)責(zé)控制使能中斷。
編程要點(diǎn)
1) 初始化用來(lái)產(chǎn)生中斷的 GPIO;
#define KEY1_INT_GPIO_PORT GPIOA
#define KEY1_INT_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE();
#define KEY1_INT_GPIO_PIN GPIO_PIN_0
#define KEY1_INT_EXTI_IRQ EXTI0_IRQn
#define KEY1_IRQHandler EXTI0_IRQHandler
2) 初始化 EXTI,配置 NVIC;
/**
* @brief 配置 PA0 為線中斷口,并設(shè)置中斷優(yōu)先級(jí)
* @param 無(wú)
* @retval 無(wú)
*/
void EXTI_Key_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
/*開啟按鍵GPIO口的時(shí)鐘*/
KEY1_INT_GPIO_CLK_ENABLE();
KEY2_INT_GPIO_CLK_ENABLE();
/* 選擇按鍵1的引腳 */
GPIO_InitStructure.Pin = KEY1_INT_GPIO_PIN;
/* 設(shè)置引腳為輸入模式 */
GPIO_InitStructure.Mode = GPIO_MODE_IT_RISING;
/* 設(shè)置引腳不上拉也不下拉 */
GPIO_InitStructure.Pull = GPIO_NOPULL;
/* 使用上面的結(jié)構(gòu)體初始化按鍵 */
HAL_GPIO_Init(KEY1_INT_GPIO_PORT, &GPIO_InitStructure);
/* 配置 EXTI 中斷源 到key1 引腳、配置中斷優(yōu)先級(jí)*/
HAL_NVIC_SetPriority(KEY1_INT_EXTI_IRQ, 0, 0);
/* 使能中斷 */
HAL_NVIC_EnableIRQ(KEY1_INT_EXTI_IRQ);
}
3) 編寫中斷服務(wù)函數(shù);
void KEY1_IRQHandler(void)
{
//確保是否產(chǎn)生了EXTI Line中斷
if(__HAL_GPIO_EXTI_GET_IT(KEY1_INT_GPIO_PIN) != RESET)
{
// LED1 取反
LED1_TOGGLE;
//清除中斷標(biāo)志位
__HAL_GPIO_EXTI_CLEAR_IT(KEY1_INT_GPIO_PIN);
}
}
上一篇:GPIO功能框圖--以STM32F429為例
下一篇:STM32基本定時(shí)器 HAL庫(kù)
推薦閱讀
史海拾趣
臺(tái)灣富晶(FORTUNE)公司的發(fā)展故事
故事一:初創(chuàng)與先驅(qū)之路
富晶電子股份有限公司(Fortune Semiconductor Corp.),中文簡(jiǎn)稱富晶,成立于1995年,總部位于臺(tái)灣新北市淡水區(qū)。作為亞洲最早切入模擬IC設(shè)計(jì)的先驅(qū)之一,富晶自創(chuàng)立之初便專注于電路設(shè)計(jì)與整合技術(shù)。在那個(gè)數(shù)字科技剛剛起步的時(shí)代,富晶憑借其前瞻性的視野和深厚的技術(shù)積累,迅速在模擬IC設(shè)計(jì)領(lǐng)域嶄露頭角。公司不僅精通電路設(shè)計(jì),還擅長(zhǎng)將先進(jìn)的SOC/SIP技術(shù)應(yīng)用于實(shí)際產(chǎn)品中,為消費(fèi)電子、電源管理、家用電器等多個(gè)領(lǐng)域提供了高性能的IC解決方案。
故事二:性價(jià)比優(yōu)勢(shì)與市場(chǎng)拓展
隨著消費(fèi)性電子產(chǎn)品的價(jià)格逐漸親民,富晶的產(chǎn)品因其優(yōu)良的電路設(shè)計(jì)和品質(zhì),在電源管理IC和電池管理IC等模擬IC領(lǐng)域展現(xiàn)出了強(qiáng)大的性價(jià)比競(jìng)爭(zhēng)力。在過(guò)去十年中,富晶成功幫助眾多制造商提升了消費(fèi)性電子產(chǎn)品的價(jià)值,推動(dòng)了手機(jī)、筆記本電腦、數(shù)碼相機(jī)等產(chǎn)品的普及。制造商們選擇富晶的IC產(chǎn)品,不僅因?yàn)槠浞€(wěn)定的質(zhì)量和卓越的性價(jià)比,還因?yàn)楦痪軌虺掷m(xù)穩(wěn)定地供貨,滿足了市場(chǎng)對(duì)高效、可靠電子元件的迫切需求。
故事三:技術(shù)創(chuàng)新與產(chǎn)品升級(jí)
富晶始終將技術(shù)創(chuàng)新視為企業(yè)發(fā)展的核心動(dòng)力。公司不斷投入研發(fā)資源,致力于開發(fā)更加先進(jìn)、高效的IC產(chǎn)品。通過(guò)不斷優(yōu)化電路設(shè)計(jì)、提升制造工藝,富晶成功推出了一系列具有行業(yè)領(lǐng)先水平的產(chǎn)品,如FS98O24、FS8855等電源管理IC和電池管理IC。這些產(chǎn)品不僅性能卓越,而且功耗更低、體積更小,滿足了市場(chǎng)對(duì)電子產(chǎn)品輕薄化、綠色化的需求。
故事四:貼近市場(chǎng)與客戶需求
自成立以來(lái),富晶始終秉持著貼近市場(chǎng)、滿足客戶需求的服務(wù)理念。公司密切關(guān)注市場(chǎng)動(dòng)態(tài)和客戶需求變化,及時(shí)調(diào)整產(chǎn)品策略和服務(wù)模式。通過(guò)與客戶建立緊密的合作關(guān)系,富晶能夠深入了解客戶的實(shí)際需求,為客戶提供定制化的解決方案。這種貼近市場(chǎng)的服務(wù)模式不僅贏得了客戶的信賴和支持,也為富晶在激烈的市場(chǎng)競(jìng)爭(zhēng)中贏得了寶貴的市場(chǎng)份額。
故事五:全球化布局與未來(lái)發(fā)展
隨著全球化進(jìn)程的加速推進(jìn),富晶也加快了其全球化布局的步伐。公司不僅在國(guó)內(nèi)市場(chǎng)取得了顯著的成績(jī),還積極拓展海外市場(chǎng),與眾多國(guó)際知名企業(yè)建立了長(zhǎng)期穩(wěn)定的合作關(guān)系。同時(shí),富晶還注重與國(guó)際先進(jìn)技術(shù)的交流與合作,不斷提升自身的技術(shù)水平和創(chuàng)新能力。展望未來(lái),富晶將繼續(xù)秉承“創(chuàng)新、卓越、共贏”的發(fā)展理念,致力于成為全球領(lǐng)先的模擬IC設(shè)計(jì)企業(yè),為電子行業(yè)的繁榮發(fā)展貢獻(xiàn)更多的力量。
隨著業(yè)務(wù)的不斷發(fā)展,Emhiser Research開始實(shí)施國(guó)際化戰(zhàn)略。公司首先在歐洲設(shè)立了研發(fā)中心和銷售機(jī)構(gòu),隨后又在美國(guó)和亞洲等地建立了分公司。這些分支機(jī)構(gòu)不僅幫助公司更好地了解當(dāng)?shù)厥袌?chǎng)需求,也為公司拓展國(guó)際市場(chǎng)提供了有力支持。通過(guò)國(guó)際化戰(zhàn)略的實(shí)施,Emhiser Research的產(chǎn)品逐漸打入了全球電子市場(chǎng)。
隨著市場(chǎng)需求的不斷增長(zhǎng),CDI-DIODE公司意識(shí)到單憑自身力量難以滿足所有客戶的需求。于是,公司積極尋求與其他企業(yè)的合作,通過(guò)共同研發(fā)、生產(chǎn)和銷售,實(shí)現(xiàn)了業(yè)務(wù)的快速拓展。這種合作模式不僅提升了公司的產(chǎn)能和效率,也加強(qiáng)了與合作伙伴之間的緊密聯(lián)系。
面對(duì)全球經(jīng)濟(jì)的不確定性和市場(chǎng)競(jìng)爭(zhēng)的加劇,光大芯業(yè)始終保持著清醒的頭腦和堅(jiān)定的信念。他們積極應(yīng)對(duì)各種挑戰(zhàn),通過(guò)優(yōu)化管理、提升效率、降低成本等措施,不斷提高自身的競(jìng)爭(zhēng)力。同時(shí),公司還加大了對(duì)新技術(shù)、新產(chǎn)品的研發(fā)投入,以保持在市場(chǎng)上的領(lǐng)先地位。正是這種不斷進(jìn)取的精神和堅(jiān)定的信念,讓光大芯業(yè)在電子行業(yè)中不斷發(fā)展壯大。
隨著技術(shù)的不斷進(jìn)步,光大芯業(yè)的產(chǎn)品逐漸得到了市場(chǎng)的認(rèn)可。公司的產(chǎn)品線涵蓋了磁傳感、DC/DC、AC/DC轉(zhuǎn)換器、電機(jī)驅(qū)動(dòng)等多個(gè)領(lǐng)域,廣泛應(yīng)用于消費(fèi)電子、運(yùn)動(dòng)控制、電動(dòng)工具、智能家居、汽車電子等多個(gè)行業(yè)。通過(guò)不斷拓展市場(chǎng),光大芯業(yè)的產(chǎn)品已經(jīng)走進(jìn)了千家萬(wàn)戶,為人們的生活帶來(lái)了便利和舒適。
如今燃油稅又漲了,最苦的就是我們這些靠車吃飯的普通車主,每天靠車運(yùn)貨、拉生意,現(xiàn)在油價(jià)漲了,真不知到將來(lái)怎么討生活。… 查看全部問(wèn)答∨ |
討教一下,有沒有能在win7/08server下可以使用的stc-isp驅(qū)動(dòng)捏?? RT!!! 下載了http://www.mcu-memory.com/提供的5.01海外版!還是不行!!! We are trying to connect to your MCU ... Chinese:正在嘗試與 MCU/單片機(jī) 握手連接 ... Connection is failure. You can try: 1.Give your MCU Power On Reset. 2 ...… 查看全部問(wèn)答∨ |
新手提問(wèn)89c51中斷系統(tǒng)IE,IP寄存器啥區(qū)別?怎么編程使用 如題,最近我在學(xué)習(xí)用KEIL C編寫程序時(shí)對(duì)單片機(jī)里中斷系統(tǒng)里寄存器IE和IP的功能很不了解,不知道中斷源的優(yōu)先級(jí)到底該設(shè)到哪各寄存器里,于是感到很暈,心里犯嘀咕:一個(gè)寄存器里怎么能把所有中斷源優(yōu)先次序排個(gè)序?!!由于對(duì)硬件不了解,就翻了幾 ...… 查看全部問(wèn)答∨ |
昨晚在做LED點(diǎn)陣無(wú)意中拍攝到的,呵呵,實(shí)際不是這樣。 為了顯示上面那幾個(gè)字,我采用手工繪圖方法繪出來(lái)。 顯示代碼如下: unsigned char code Display_Font[64][16]= { //1 0x03,0x03,0x03,0x01,0x03,0x03,0x03,0x03, ...… 查看全部問(wèn)答∨ |
請(qǐng)問(wèn): 我用的是2440CAMERA接口,驅(qū)動(dòng)只完成了將數(shù)據(jù)存到幀存儲(chǔ)器的工作,要想在WINCE上將視頻,或者是一張圖片顯示出來(lái),要做什么工作呢? 我的理解是LCD會(huì)不斷的從幀緩沖里將數(shù)據(jù)輸出到屏上,所以用memcpy將buffer_rgb的數(shù)據(jù) ...… 查看全部問(wèn)答∨ |
求一個(gè) vs2005 下 C# 寫的適用于 2440+wince5.0 的串口通訊程序 求一個(gè) vs2005 下 C# 寫的適用于 2440+wince5.0 的串口通訊程序 越詳細(xì)越好 我剛接觸這一塊 C#的語(yǔ)法還沒學(xué)全 以前也從沒在win下編過(guò)程 但是頭兒要求的特別急 想找個(gè)例程邊看邊學(xué) 希望有大俠能指點(diǎn)一下 同時(shí)希望有這種例程的能給我 ...… 查看全部問(wèn)答∨ |
關(guān)于NT內(nèi)核模式中的進(jìn)程問(wèn)題,一直都沒人解決,不知大牛們對(duì)此有何看法?? 根據(jù)IRP既然可以得到宿主進(jìn)程的信息,如名字和路徑,那么能否得到宿主進(jìn)程的ID呢? 是有代碼可以得到IRP的進(jìn)程ID的,得到的是PEPROCESS ProcessID,那么這個(gè)進(jìn)程ID和用戶模式的任務(wù)管理器中看到的進(jìn)程ID有什么關(guān)系??它們是同一個(gè)東西嗎???內(nèi)核模 ...… 查看全部問(wèn)答∨ |
不敢說(shuō)項(xiàng)目中就會(huì)用它,但是可以多一種方案多一個(gè)選擇。 完成后分享過(guò)程中的點(diǎn)滴。 [ 本帖最后由 sblpp 于 2010-10-13 18:55 編輯 ]… 查看全部問(wèn)答∨ |
USB Bulk Out packet STM32 一直回覆Stall 我有4個(gè)EP, 型態(tài)分別是EP0(control), EP1(interrupt IN), EP2(Bulk IN), EP3(Bulk OUT),目前EP0, EP1, EP2工作皆是正常,但是EP3在接受主機(jī)訊號(hào)後會(huì)回覆STALL, 但是我看STM32 register map,Rx status確定是有設(shè)成 Valid。不知有那位前輩幫忙提出 ...… 查看全部問(wèn)答∨ |
PBP品牌是深圳山特電源有限公司的旗下品牌,專業(yè)從事不間斷電源的生產(chǎn),研發(fā)。公司現(xiàn)生產(chǎn)solar inverter ,power inverter ,online ups等主要產(chǎn)品,熱銷歐美、中東、非洲地區(qū)。PBP LOGO… 查看全部問(wèn)答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 英飛凌微控制器:以全新實(shí)惠套件和強(qiáng)大開發(fā)環(huán)境為開發(fā)者提供支持
- iTOP-i.MX6開發(fā)板設(shè)備數(shù)驅(qū)動(dòng)Menuconfig的用法
- 迅為IMX6ULL開發(fā)板Qt for Android搭建開發(fā)環(huán)境
- 迅為i.MX8M mini開發(fā)板Windots QT系統(tǒng)開發(fā)環(huán)境搭建
- 迅為IMX8MM開發(fā)板Yocto系統(tǒng)使用Gstarwmra(一)
- 迅為IMX8M mini開發(fā)板Linix系統(tǒng)修改默認(rèn)屏幕
- iTOP-4412開發(fā)板支持4G以上文件系統(tǒng)擴(kuò)展
- 迅為IMX8MM開發(fā)板Yocto系統(tǒng)設(shè)置開機(jī)自啟動(dòng)
- 迅為IMX6Q開發(fā)板 Buildroot文件系統(tǒng)mqtt測(cè)試
- 汽車電子芯片國(guó)產(chǎn)化加速,GS32-DSP能否替代C2000?
- 機(jī)器人行業(yè)大魚:ABB機(jī)器人業(yè)務(wù)分拆上市
- 全球首個(gè)L3級(jí)架構(gòu)誕生在中國(guó),意味著什么?
- 汽車存儲(chǔ)芯片研究:大模型推動(dòng)下,主機(jī)廠車用存儲(chǔ)芯片的選擇路徑分析
- 智駕按下急停鍵?正相反,真正的自動(dòng)駕駛就要來(lái)了!
- 國(guó)內(nèi)5個(gè)固態(tài)電池項(xiàng)目更新動(dòng)態(tài)
- 機(jī)器人如何防止碰撞?——安全探測(cè)器的技術(shù)架構(gòu)與性能突破
- 自動(dòng)駕駛汽車功能安全與網(wǎng)絡(luò)安全的融合
- 車企虛假宣傳最高判刑2年!智駕、接管成禁用詞?重拳出擊砸向誰(shuí)?
- 強(qiáng)監(jiān)管下的智能汽車:新規(guī)詳解
- 技術(shù)直播【安森美功率器件在新能源市場(chǎng)中的應(yīng)用】(9:30入場(chǎng))
- TI直播| 低功耗技術(shù)在 Wi-Fi 攝像頭及 PIR 紅外傳感器設(shè)計(jì)中的應(yīng)用
- 零起點(diǎn)入門,帶你動(dòng)手做AVR開發(fā)板
- 2024安路科技FPGA技術(shù)研討會(huì)-廣州站 火熱報(bào)名中
- 讀PI 汽車電子參考設(shè)計(jì),贏京東卡!
- 搶樓有禮:看直播,深入了解ST最新 MEMS氣壓計(jì)原理、操作、防水結(jié)構(gòu)設(shè)計(jì)
- 【投票跟帖有禮】原廠的翻新儀器懟市場(chǎng)上的二手儀器,你頂誰(shuí)?
- 國(guó)網(wǎng)浙江電力一季度替代電量同比增長(zhǎng)10.6%
- 國(guó)網(wǎng)福建電力優(yōu)化公共快充網(wǎng)絡(luò)布局
- 國(guó)網(wǎng)青海電力提速新能源汽車充電業(yè)務(wù)
- 模擬真實(shí)電網(wǎng)環(huán)境 驗(yàn)證城市供電可靠性
- 山東第一季度用電量為何全國(guó)第一?
- PCB行業(yè)新舊廠房自動(dòng)化導(dǎo)入,難點(diǎn)痛點(diǎn)都在哪?
- 消息稱蘋果公司將因其NFC芯片面臨歐盟反壟斷指控
- STM32 f103 實(shí)現(xiàn)命令終端
- 索尼將與臺(tái)積電在日本打造價(jià)值70億美元的半導(dǎo)體工廠
- 基于51單片機(jī)的PID水溫控制系統(tǒng)
- 電源控制芯片的外置MOS管調(diào)整電路
- 異步FIFO結(jié)構(gòu)及FPGA設(shè)計(jì)
- 51單片機(jī)之keil下載問(wèn)題
- Vivado工程源碼大瘦身
- 2011如何設(shè)計(jì)小信號(hào)諧振放大討論
- 【轉(zhuǎn)帖】一文讀懂光柵式傳感器
- 請(qǐng)DX指導(dǎo)一二:NMAKE : U1073: don't know how to make SC2440_SDHCBase.lib
- 最近閑來(lái)無(wú)事,調(diào)試了一下時(shí)鐘芯片DS1302程序,挺好使
- 至2020年全球互聯(lián)終端達(dá)330億部
- 最后一天!有獎(jiǎng)直播—TE Connectivity的智能建筑解決方案