在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CKS32F4xx系列產品EXTI應用

中科芯MCU ? 來源:中科芯MCU ? 2023-05-12 15:54 ? 次閱讀

EXTI 簡介

EXTI(External interrupt/event controller)—外部中斷/事件控制器,管理了控制器的 23個中斷/事件線。每個中斷/事件線都對應有一個邊沿檢測器,可以實現輸入信號的上升沿檢測和下降沿的檢測。EXTI可以實現對每個中斷/事件線進行單獨配置,可以單獨配置為中斷或者事件,以及觸發事件的屬性。

EXTI 功能框圖

EXTI的功能框圖包含了 EXTI最核心內容,EXTI可分為兩大部分功能,一個是產生中斷,另一個是產生事件。EXTI功能框圖如下:

909ddb4a-f099-11ed-90ce-dac502259ad0.png

中斷/事件線

EXTI有23個中斷/事件線,每個GPIO都可以被設置為輸入線,占用EXTI0至EXTI15,還有另外七根用于特定的外設事件。

91a3aa38-f099-11ed-90ce-dac502259ad0.png

EXTI0至EXTI15用于GPIO,通過編程控制可以實現任意一個GPIO作為 EXTI的輸入源。由上圖可知,EXTI0可以通過AFIO的外部中斷配置寄存器 1(AFIO_EXTICR1)的EXTI0[3:0]位選擇配置為PA0、PB0、PC0、PD0、PE0、PF0、PG0、PH0 或者PI0,其他EXTI線(EXTI中斷/事件線)使用配置都是類似的。

外設事件連接模式:

EXTI line 16 連接PVD輸出

EXTI line 17 連接RTC鬧鐘事件

EXTI line 18 連接USB OTG FS喚醒事件

EXTI line 19 連接以太網喚醒事件

EXTI line 20 連接USB OTG HS喚醒事件

EXTI line 21 連接RTC 篡改和時標事件

EXTI line 22 RTC喚醒事件

EXTI 初始化結構體

標準庫函數對每個外設都建立了一個初始化結構體,比如 EXTI_InitTypeDef,結構體成員用于設置外設工作參數,并由外設初始化配置函數,比如 EXTI_Init()調用,這些設定參數將會設置外設相應的寄存器,達到配置外設工作環境的目的。

初始化結構體和初始化庫函數配合使用是標準庫精髓所在,理解了初始化結構體每個成員意義基本上就可以對該外設運用自如了。初始化結構體定義在 cks32f4xx_exti.h 文件中,初始化庫函數定義在 cks32f4xx_exti.c 文件中,編程時我們可以結合這兩個文件內注釋使用。

EXTI操作流程

a)首先配置GPIO引腳模式:

RCC_APB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); 
/* 配置GPIOA.0 */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
/* 配置為輸入模式 */
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
/* 配置速率為高速模式 */
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
/* 使能下拉模式 */
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
/* 調用初始化函數 */
GPIO_Init(GPIOA, &GPIO_InitStructure);typedefstruct

b)配置EXTI line0中斷線連接GPIOA.0:

typedefstrucSYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, GPIO_PinSource0); t

c)配置中斷線為中斷模式,上升沿觸發模式并使能:

EXTI_InitTypeDefEXTI_Structure;
EXTI_StructInit(&EXTI_Structure);
/*  配置中斷線0 */
EXTI_Structure.EXTI_Line = EXTI_Line0;     
/* 使用中斷模式 */
EXTI_Structure.EXTI_Mode = EXTI_Mode_Interrupt;
/* 電壓低于閥值時產生中斷 */     
EXTI_Structure.EXTI_Trigger = EXTI_Trigger_Raising;  
/* 使能中斷線 */
EXTI_Structure.EXTI_LineCmd = ENABLE;   
/* 初始化中斷 */
EXTI_Init(&EXTI_Structure);

d)配置中斷管理器NVIC,設置EXTI0_IRQn中斷源優先級并初始化:

Svoid NVIC_Configuration(void)
{
  NVIC_InitTypeDef NVIC_InitStructure;
  /* 嵌套向量中斷控制器組選擇 */
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  /* 配置EXTI0_IRQn中斷源 */
  NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;
  /* 搶斷優先級為1 */
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
  /* 子優先級為1 */
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
  /* 使能中斷 */
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  /* 初始化配置NVIC */
  NVIC_Init(&NVIC_InitStructure); 
}
  NVIC_PriorityGroupConfig(NVYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, GPIO_PinSource0);

e)當產生 EXTI0中斷,在中斷程序中進行相應的處理:

typvoid EXTI0_IRQHandler(void)
{
  if(EXTI_GetITStatus(EXTI_Line0) != RESET)
  {        
    EXTI_ClearITPendingBit(EXTI_Line0);
/*添加用戶處理代碼*/
  }
}  edefstruct

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    114

    文章

    16979

    瀏覽量

    182995
  • 中斷
    +關注

    關注

    5

    文章

    904

    瀏覽量

    42532
  • GPIO
    +關注

    關注

    16

    文章

    1276

    瀏覽量

    53602
  • 輸入信號
    +關注

    關注

    0

    文章

    472

    瀏覽量

    12839
  • EXTI
    +關注

    關注

    0

    文章

    27

    瀏覽量

    3881

原文標題:MCU微課堂 | CKS32F4xx系列產品EXTI應用

文章出處:【微信號:中科芯MCU,微信公眾號:中科芯MCU】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    MCU微課堂|CKS32F4xx系列產品時鐘配置

    作為MCU運行的基礎,時鐘是單片機各個模塊工作時序的最小時間單位,推動單片機的各指令執行,是MCU選型的一個重要指標。CKS32F4xx系列產品具有眾多的外設,但并非所有的外設均需要系統時鐘的高頻率
    發表于 12-12 10:17 ?995次閱讀

    CKS32F4xx系列產品NVIC中斷優先級管理單元講解

    本課將為大家講解CKS32F4xx系列產品的中斷優先級管理單元NVIC。CM4內核共支持256個中斷,其中包含了16個內核中斷和240個外部中斷,具有256級可編程中斷設置。但CKS32F4x
    的頭像 發表于 02-06 14:52 ?1491次閱讀

    CKS32F4xx系列產品串口DMA傳輸

    在上一講,我們講過CKS32F4xx系列的6個串口都支持DMA傳輸。因此本節我們對CKS32F4xx系列的DMA進行介紹,同時利用DMA對串口數據進行傳輸。
    的頭像 發表于 04-10 11:18 ?1325次閱讀

    CKS32F4xx系列產品的定時器使用-基本特征和定時操作

    這一課我們將介紹CKS32F4XX系列產品的定時器使用,CKS32F4XX的定時器功能十分強大,包含2個高級控制定時器,8個普通定時器,2個基礎定時器,以及兩個看門狗定時器和一個系統定時器,總共15個定時器之多。關于定時器部分內
    的頭像 發表于 05-19 09:18 ?1191次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列產品</b>的定時器使用-基本特征和定時操作

    CKS32F4xx系列RNG功能設置

    ? MCU 微課堂 CKS32F4xx 系 列RNG功能 隨機數發生器簡介 ? ? CKS32F4xx系列自帶了硬件隨機數發生器(RNG),RNG處理器是一個以連續模擬噪聲為基礎的隨機數發生器,在
    的頭像 發表于 09-08 10:01 ?874次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>RNG功能設置

    CKS32F4xx系列DAC功能

    CKS32F4xx系列DAC功能
    的頭像 發表于 11-06 16:56 ?1109次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>DAC功能

    CKS32F4xx系列ADC多通道DMA電壓采集

    CKS32F4xx系列ADC多通道DMA電壓采集
    的頭像 發表于 11-06 16:53 ?1327次閱讀

    CKS32F4xx系列低功耗模式SLEEP模式

    CKS32F4xx系列低功耗模式SLEEP模式
    的頭像 發表于 11-06 16:59 ?948次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>低功耗模式SLEEP模式

    CKS32F4xx系列低功耗模式STOP模式

    CKS32F4xx系列低功耗模式STOP模式
    的頭像 發表于 11-06 17:08 ?854次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>低功耗模式STOP模式

    CKS32F4xx系列產品Timer的基本使用方法-定時器脈沖計數

    CKS32F4xx系列產品Timer的基本使用方法-定時器脈沖計數
    的頭像 發表于 11-09 17:38 ?1375次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列產品</b>Timer的基本使用方法-定時器脈沖計數

    CKS32F4xx系列產品Timer的基本使用方法-比較輸出

    CKS32F4xx系列產品Timer的基本使用方法-比較輸出
    的頭像 發表于 11-09 17:39 ?1118次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列產品</b>Timer的基本使用方法-比較輸出

    CKS32F4xx系列產品Timer的基本使用方法-定時操作

    CKS32F4xx系列產品Timer的基本使用方法-定時操作
    的頭像 發表于 11-09 17:41 ?815次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列產品</b>Timer的基本使用方法-定時操作

    MCU微課堂 | CKS32F4xx系列產品SPI通信

    MCU微課堂 | CKS32F4xx系列產品SPI通信
    的頭像 發表于 10-24 17:12 ?980次閱讀
    MCU微課堂 | <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列產品</b>SPI通信

    MCU微課堂 | CKS32F4xx系列產品GPIO口配置

    MCU微課堂 | CKS32F4xx系列產品GPIO口配置
    的頭像 發表于 10-24 15:14 ?1074次閱讀
    MCU微課堂 | <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列產品</b>GPIO口配置

    CKS32F4xx系列FSMC功能簡介

    本課講為大家講解CKS32F4xx系列產品的FSMC應用實例,FSMC全稱是Flexible Static Memory Controller,讀作靈活的靜態存儲控制器,顧名思義,MCU可以通過FSMC擴展靜態內存
    的頭像 發表于 04-14 15:06 ?1392次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>FSMC功能簡介
    主站蜘蛛池模板: 午夜影院h | 色v在线 | 天堂电影免费在线观看 | 日韩欧美印度一级毛片 | 夜夜爱夜夜爽夜夜做夜夜欢 | 国产一区二区三区乱码 | 欧美日韩精品一区二区在线线 | 视频在线视频免费观看 | 婷婷色香| aaaa级日本片免费视频 | 久久奈| 色综合亚洲天天综合网站 | 青楼社区51在线视频视频 | 久久精品免费观看久久 | 男女视频免费 | www亚洲一区 | 黄h视频在线观看视频 | 夜夜综合网 | 在线播放交视频 | 婷婷色六月 | 男人和女人做a免费视频 | 五月天综合在线 | 国产精品第九页 | 激情综合亚洲 | 日本极度另类网站 | 在线你懂的 | 曰本在线| 国产精品黄网站免费进入 | 黄色片xxxx| 欧日韩美香蕉在线观看 | 日日夜夜天天久久 | 国产免费久久精品99久久 | 欧美黄色片在线播放 | 五月综合在线 | 国产精品三级在线播放 | 日本卡一卡2卡3卡4精品卡无人区 | 四虎永久免费在线 | 免播放器av少妇影院 | 欧美日一区 | 亚洲视频在线观看一区 | 久久国产精品系列 |