中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

夏天做哪些網(wǎng)站致富最新重大新聞

夏天做哪些網(wǎng)站致富,最新重大新聞,朝陽網(wǎng)站建設(shè)是什么意思,wordpress安裝 4031.EXTI簡介 EXTI是External Interrupt的縮寫,指外部中斷。在嵌入式系統(tǒng)中,外部中斷是一種用于處理外部事件的機制。當外部事件發(fā)生時(比如按下按鈕、傳感器信號變化等),外部中斷可以立即打斷正在執(zhí)行的程序&#xff0…

1.EXTI簡介

EXTI是External Interrupt的縮寫,指外部中斷。在嵌入式系統(tǒng)中,外部中斷是一種用于處理外部事件的機制。當外部事件發(fā)生時(比如按下按鈕、傳感器信號變化等),外部中斷可以立即打斷正在執(zhí)行的程序,轉(zhuǎn)而執(zhí)行一個特定的中斷服務(wù)程序(ISR),以響應(yīng)和處理外部事件。

在大多數(shù)嵌入式系統(tǒng)中,外部中斷可以配置為上升沿觸發(fā)、下降沿觸發(fā)、高電平觸發(fā)、低電平觸發(fā)等不同的觸發(fā)方式,以適應(yīng)不同的外部事件類型。外部中斷通常用于實時性要求較高的應(yīng)用,如實時控制系統(tǒng)、傳感器數(shù)據(jù)采集等。

在使用外部中斷時,需要了解具體的硬件平臺和編程語言的相關(guān)知識,以確保正確地配置和處理外部中斷。

2.EXTI功能框圖講解

?首先,中斷源從輸入線進入,總共有20根中斷/事件線,每一條線對應(yīng)著PXx,例如EXTI0的輸入源可以是PX0(X為A、B、C、D、E、F、G、H、I),因為GPIO端口有16個,所以x的取值在0-15,EXTI16的輸入源是PVD輸出,EXTI17的輸入源是RTC鬧鐘事件,EXTI18的輸入源是USB喚醒事件,EXTI19的輸入源是以太網(wǎng)喚醒事件(只適用互聯(lián)型)。

通過外部中斷配置寄存器1(AFIO_EXTICR1)配置來選擇輸入線,每一個EXTIx有四個位,可以選擇16個GPIO端口。

?

選擇輸入線和輸入源后進入邊緣檢測電路 ,邊緣檢測電路通過寄存器上升沿觸發(fā)選擇寄存器(EXTI_RTSR)和下降沿觸發(fā)選擇寄存器(EXTI_FTSR)選擇觸發(fā)方式。

通過配置的觸發(fā)方式,邊緣檢測電路輸出“1”給到或門,然后另一個輸入由軟件中斷事件寄存器輸入,當軟件中斷事件寄存器相應(yīng)位為’0’時,寫’1’將設(shè)置EXTI_PR中相應(yīng)的掛起位,是否相應(yīng)中斷請求由后面的總開關(guān)中斷屏蔽寄存器(EXTI_IMR)決定,這樣或門輸入兩個“1”,或門也輸出“1”,將這個“1”輸入給請求掛起寄存器就是中斷,輸入給與門就是事件,然后請求掛起寄存器輸出“1”給與門,然后中斷屏蔽寄存器(EXTI_IMR)對應(yīng)位置“1”,開放來自線x的中斷請求,與門輸出“1”給到NVIC中斷控制器,NVIC在內(nèi)核中,由內(nèi)核響應(yīng)這個中斷,內(nèi)核就會去查找相應(yīng)的中斷服務(wù)函數(shù)ESR。

3.GPIO中斷實例

3.1.初始化GPIO?

?通過原理圖查看按鍵對應(yīng)的GPIO端口

通過原理圖可以知道按鍵SW2連接的是GPIO的PA0,那么我們需要初始化PA0,并且將PA0連接到EXTI0。

初始化GPIO

  GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOA, &GPIO_InitStructure);

3.2.初始化EXTI用于產(chǎn)生中斷/事件

?初始化EXTI方法和初始化GPIO相似,首先打開系統(tǒng)時鐘,然后選擇輸入線,通過函數(shù)GPIO_EXTILineConfig()配置,接著通過EXTI_InitTypeDef結(jié)構(gòu)體定義一個變量,通過這個變量配置EXTI的輸入線、模式、觸發(fā)方式,然后將配置的結(jié)構(gòu)體變量的地址傳遞給初始化EXTI函數(shù)EXTI_Init()。

    EXTI_InitTypeDef EXTI_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0);EXTI_InitStructure.EXTI_Line = EXTI_Line0;EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;EXTI_InitStructure.EXTI_LineCmd = ENABLE;EXTI_Init(&EXTI_InitStructure);

3.3.初始化NVIC

?初始化NVIC和初始化GPIO和初始化EXTI相似,都需要通過定義結(jié)構(gòu)體變量去配置相應(yīng)參數(shù)。首先定義結(jié)構(gòu)體變量NVIC_InitStructure。然后設(shè)置中斷優(yōu)先級級分組,通過函數(shù)NVIC_PriorityGroupConfig(),有5個組

沒個組有主優(yōu)先級和次優(yōu)先級,我們配置中斷優(yōu)先級的時候stm32使用了四個位,當主優(yōu)先級只是用0位時,取值就是0,次優(yōu)先級就使用四個位,取值就是0-15。同理,當主優(yōu)先級只是用1位時,取值就是0-1,次優(yōu)先級就使用3個位,取值就是0-7,以此類推。然后通過定義的結(jié)構(gòu)體變量配置中斷源,搶占優(yōu)先級,子優(yōu)先級。注意這里的中斷源配置,如果是GPIO0-4都是單獨的EXTIx_IRQn,但是如果你說4以后的端口,就會使用到EXTI9_5_IRQn和EXTI15_10_IRQn。然后將配置的結(jié)構(gòu)體變量的地址傳遞給初始化NVIC初始化函數(shù)NVIC_Init()。

    NVIC_InitTypeDef NVIC_InitStructure;NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure);

3.4.編寫中斷服務(wù)函數(shù)

?通斷服務(wù)函數(shù)都放在stm32f10x_it.c這個文件里面,中斷服務(wù)函數(shù)的名字已經(jīng)定義好了,放在startup_stm32f10x_hd.s文件的向量表中。通過if語句判斷函數(shù)EXTI_GetITStatus()的返回值來判斷是否產(chǎn)生中斷,如果產(chǎn)生中斷EXTI_GetITStatus()返回值位1。通過宏定義LED_G_TOGGLE

#define LED_G_TOGGLE     {GPIOB->ODR ^= GPIO_Pin_0;}

通過控制端口輸出數(shù)據(jù)寄存器ODR異或運算控制LED交替,異或運算符與1異或改變,與0異或不變。為了防止一直在中斷里面,最后需要清除中斷位,通過函數(shù)?EXTI_ClearITPendingBit()。

void EXTI0_IRQHandler(void)
{if(EXTI_GetITStatus(EXTI_Line0) != RESET){LED_G_TOGGLE;}EXTI_ClearITPendingBit(EXTI_Line0);
}

3.5.main函數(shù)

?最后,通過main函數(shù)調(diào)用前面寫的函數(shù)

int main(void)
{LED_GPIO_RCC();LED_GPIO_Config();EXIT_Key_Config();while(1){}
}

http://www.risenshineclean.com/news/29671.html

相關(guān)文章:

  • 泉州制作網(wǎng)站設(shè)計seo搜索引擎優(yōu)化步驟
  • 品牌網(wǎng)站建設(shè)還來大蝌蚪開發(fā)新客戶的十大渠道
  • 網(wǎng)頁設(shè)計與網(wǎng)站建設(shè)課程整合營銷傳播理論
  • 網(wǎng)站建設(shè)金手指排名專業(yè)seo排名點擊器
  • 長春新聞最新消息天津搜索引擎seo
  • 花店網(wǎng)站模板下載百度極速版
  • 新網(wǎng)站百度搜不到上海搜索引擎優(yōu)化公司
  • a3電子報在什么網(wǎng)站做培訓(xùn)公司
  • 有一個網(wǎng)站是做釆購的是什么網(wǎng)互聯(lián)網(wǎng)推廣怎么找客戶
  • wordpress地址如何修改福州seo顧問
  • 企業(yè)網(wǎng)站建設(shè)是什么網(wǎng)站關(guān)鍵詞排名分析
  • 米拓建設(shè)網(wǎng)站合肥做網(wǎng)絡(luò)推廣的公司
  • 網(wǎng)站開發(fā)需要python 嗎全國疫情最新消息今天實時
  • 電影網(wǎng)站制作模板搜索引擎營銷的主要模式有哪些
  • wps wordpress廈門網(wǎng)站seo哪家好
  • 網(wǎng)站備案收費么重慶企業(yè)免費建站
  • 如何做網(wǎng)站診斷微信營銷軟件哪個好用
  • 大連網(wǎng)站建設(shè)遼icp備如何做網(wǎng)站推廣
  • 網(wǎng)站改版如何做301免費發(fā)布信息平臺有哪些
  • 做個網(wǎng)站大約多少錢產(chǎn)品推廣網(wǎng)站
  • 北京到安陽的火車票灰色行業(yè)關(guān)鍵詞優(yōu)化
  • 宿松做網(wǎng)站百度指數(shù)在線查詢小程序
  • 深藍企業(yè)管理咨詢有限公司網(wǎng)站關(guān)鍵字優(yōu)化價格
  • 廣德做網(wǎng)站網(wǎng)絡(luò)營銷推廣及優(yōu)化方案
  • 蘇州響應(yīng)式網(wǎng)站建設(shè)市場營銷產(chǎn)品推廣策劃方案
  • bootstrap 風格網(wǎng)站百度指數(shù)明星搜索排名
  • 做網(wǎng)站單頁視頻谷歌關(guān)鍵詞優(yōu)化怎么做
  • 做網(wǎng)站只有域名關(guān)鍵詞搜索量排名
  • 深圳找人做網(wǎng)站aso優(yōu)化師
  • 圖庫網(wǎng)站源碼下載外貿(mào)網(wǎng)絡(luò)營銷平臺