內(nèi)嵌向量中斷控制器:Nested Vectored Interrupt Controller (NVIC)
NVIC優(yōu)先級結(jié)構(gòu)體定義:
typedef struct
{
uint8_t NVIC_IRQChannel; /*!< Specifies the IRQ channel to be enabled or disabled */
uint8_t NVIC_IRQChannelPreemptionPriority; /*!< 主中斷優(yōu)先級范圍:0-16 */
uint8_t NVIC_IRQChannelSubPriority; /*!<從優(yōu)先級 范圍:0-16 */
FunctionalState NVIC_IRQChannelCmd; /* IRQ通道使能 */
} NVIC_InitTypeDef;
中斷原理:
線 0~15:對應外部 IO 口的輸入中斷。
線 16:連接到 PVD 輸出。
線 17:連接到 RTC 鬧鐘事件。
線 18:連接到 USB 喚醒事件。
STM32 供 IO 口使用的中斷線只有 16 個,但是 STM32 的 IO 口卻遠遠不止 16 個,那么 STM32 是怎么把 16 個中斷線和 IO 口一一對應起來的呢?于是 STM32 就這樣設(shè)計,GPIO 的管教 GPIOx.0~GPIOx.15(x=A,B,C,D,E,F(xiàn),G)分別對應中斷線 0~15。這樣每個中斷線對應了最多 7 個 IO 口,以線 0 為例:它對應了 GPIOA.0、GPIOB.0、GPIOC.0、GPIOD.0、GPIOE.0、GPIOF.0、GPIOG.0。而中斷線每次只能連接到 1 個 IO 口上,這樣就需要通過配置來決定對應的中斷線配置到哪個 GPIO 上了
中斷線
typedef struct
{
uint32_t EXTI_Line; /*!< */
EXTIMode_TypeDef EXTI_Mode; /*!< 模式*/
EXTITrigger_TypeDef EXTI_Trigger; /*!< 觸發(fā)方式 */
FunctionalState EXTI_LineCmd; /*!< 使能或禁止 */
}EXTI_InitTypeDef;
外部中斷de應用:
void init_interrupt(){
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE); //使能復用功能時鐘 EXTI_InitTypeDef EXTI_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
//中斷線及觸發(fā)方式配置
//GPIOE.3 中斷線以及中斷初始化配置 下降沿觸發(fā) //按鍵
GPIO_EXTILineConfig(GPIO_PortSourceGPIOE,GPIO_PinSource3);
EXTI_InitStructure.EXTI_Line=EXTI_Line3;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
EXTI_Init(&EXTI_InitStructure); //根據(jù)EXTI_InitStruct中指定的參數(shù)初始化外設(shè)EXTI寄存器
//中斷通道及優(yōu)先級配置!!
NVIC_InitStructure.NVIC_IRQChannel = EXTI3_IRQn; //使能按鍵KEY1所在的外部中斷通道
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02; //搶占優(yōu)先級2
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x01; //子優(yōu)先級1
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能外部中斷通道
NVIC_Init(&NVIC_InitStructure); //根據(jù)NVIC_InitStruct中指定的參數(shù)初始化外設(shè)NVIC寄存器
}
void EXTI3_IRQHandler(void) //中斷處理
{
delay_ms(10);
if(KEY==0) //按鍵 按下
{
beep_on;//蜂鳴器響
}
EXTI_ClearITPendingBit(EXTI_Line3); //清除LINE3上的中斷標志位(必須清掉)
}
上一篇:存儲器與寄存器
下一篇:STM32 HAL庫 定時器中斷
推薦閱讀
史海拾趣
隨著網(wǎng)絡(luò)安全威脅的不斷加劇,電子安全行業(yè)面臨著前所未有的挑戰(zhàn)。3E SECURITY公司緊跟行業(yè)趨勢,加強了網(wǎng)絡(luò)安全服務(wù)的研發(fā)和推廣。公司推出了一系列網(wǎng)絡(luò)安全解決方案,幫助客戶有效應對各類網(wǎng)絡(luò)攻擊和數(shù)據(jù)泄露風險。同時,公司還加強了對客戶的安全培訓和技術(shù)支持,提升了客戶的安全意識和應對能力。
品質(zhì)一直是Easy Braid公司的生命線。在競爭激烈的市場環(huán)境中,Easy Braid始終堅持使用高品質(zhì)的材料和嚴格的生產(chǎn)工藝,確保每一件產(chǎn)品都達到最高標準。正是這種對品質(zhì)的執(zhí)著追求,讓Easy Braid贏得了客戶的信任和口碑。隨著客戶群的擴大,Easy Braid的品牌影響力也逐漸增強。
Easy Braid的發(fā)展離不開一支強大的研發(fā)團隊。公司注重人才的引進和培養(yǎng),為研發(fā)團隊提供了良好的工作環(huán)境和充足的研發(fā)資金。在研發(fā)團隊的努力下,Easy Braid不斷推出具有創(chuàng)新性和實用性的新產(chǎn)品,滿足了市場的多樣化需求。同時,研發(fā)團隊還積極參與行業(yè)標準的制定和推廣工作,為整個電子行業(yè)的發(fā)展做出了貢獻。
自1948年成立以來,Daito公司一直致力于電子元器件的研發(fā)與生產(chǎn)。在公司的早期階段,他們意識到保險絲在電子設(shè)備中的重要性,并決定投入大量資源進行研發(fā)。經(jīng)過數(shù)年的努力,Daito公司成功開發(fā)出了高精度報警保險絲,這一創(chuàng)新產(chǎn)品憑借其卓越的性能和可靠性,迅速在市場上獲得了認可。
高精度報警保險絲的成功并沒有讓Daito公司停止創(chuàng)新的步伐。他們不斷對保險絲的失效原因與壽命進行預測和分析,通過全面質(zhì)量管理,使產(chǎn)品質(zhì)量得到了顯著的提高。同時,Daito公司還將各系列保險絲的額定值多層次化,以滿足不同客戶的需求,擴大了顧客的選擇余地。
為了滿足不同客戶的需求,CML不斷擴展產(chǎn)品線,從最初的光電子產(chǎn)品逐漸拓展到顯示器、開關(guān)、繼電器等多個領(lǐng)域。通過多樣化的產(chǎn)品策略,公司成功吸引了更多客戶,并擴大了市場份額。同時,CML還積極開拓國際市場,將產(chǎn)品出口到全球多個國家和地區(qū),進一步提升了公司的知名度和影響力。
tftp移植內(nèi)核時總是顯示CS8900 Ethernet chip not found? 我板子芯片是S3C2410,網(wǎng)絡(luò)控制芯片是AX88796,而U-boot是用Smdk2410稍作修改得來的,我tftp移植內(nèi)核時總是顯示CS8900 Ethernet chip not found?我應該在U-boot里面如何修改相應的設(shè)置?… 查看全部問答∨ |
|
STM8,OPTON-〉OPTOFF,怎樣保護特殊參數(shù)不被擦除? 如題: 請各位大蝦指點下,對于STM8 單片機,對于OPT選項字節(jié),若初始時候狀態(tài)為ON,若需要重新對FLASH編程時,必須先將OPT設(shè)置為OFF解除保護,此時,單片機的FLASH和EEPROM全被擦除。現(xiàn)在的問題是:在開啟讀出保 ...… 查看全部問答∨ |
|
Journal of Electromagnetic Analysis and Applications (Vol.03 No.06, Jun. 2011) Journal of Electromagnetic Analysis and Applications ISSN: 1942-0730 (Print) 1942-0749 (Online).JEMAA free online access: www.scirp.org/journal/jemaa. Table of Contents(Vol.03 No.06, Jun. 2011): SF6 Byproducts in High-Humidity E ...… 查看全部問答∨ |
最近在用FPGA做網(wǎng)絡(luò)實驗,試驗lwip在raw模式下的性能, s3e 500的板子,mb核+xilkernel4.0+lwip130,已經(jīng)調(diào)通,ping功能,tcp和udp收發(fā)數(shù)據(jù)正常, ping開發(fā)板的平均延時在4ms左右(偶爾會超時)……跑上系統(tǒng)基本沒任何實用價值了。 在ra ...… 查看全部問答∨ |
設(shè)計資源 培訓 開發(fā)板 精華推薦
- 英飛凌微控制器:以全新實惠套件和強大開發(fā)環(huán)境為開發(fā)者提供支持
- iTOP-i.MX6開發(fā)板設(shè)備數(shù)驅(qū)動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)修改默認屏幕
- iTOP-4412開發(fā)板支持4G以上文件系統(tǒng)擴展
- 迅為IMX8MM開發(fā)板Yocto系統(tǒng)設(shè)置開機自啟動
- 迅為IMX6Q開發(fā)板 Buildroot文件系統(tǒng)mqtt測試
- 高通攜手中國“汽車朋友圈”亮相2025上海車展: 加速駕駛輔助普惠,推動艙駕創(chuàng)新升級
- 工業(yè)市場正在快速回暖,德州儀器如何重塑電力電子市場?
- 特斯拉:美國交付的Model Y/3電池包已實現(xiàn)100%美國生產(chǎn)
- 地平線與博世深化合作,攜手為多家車企提供輔助駕駛產(chǎn)品
- 強化中國市場戰(zhàn)略布局,德州儀器正靈活應對全球關(guān)稅挑戰(zhàn)
- Molex莫仕通過本地合作和創(chuàng)新加強支持中國汽車行業(yè)
- 貿(mào)澤開售Texas Instruments適用于高分辨率AR HUD的 全新DLP4620S-Q1 0.46"汽車數(shù)字微鏡器件
- ROHM推出高功率密度的新型SiC模塊,將實現(xiàn)車載充電器小型化!
- 用上車規(guī)級UFS 4.0,讓出行變得高效且可靠
- 車載測試技術(shù)解析:聚焦高帶寬、多通道同步采集與協(xié)議分析