女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

GPIO做輸出還能作外部中斷輸入嗎?

茶話MCU ? 來源:ST MCU 信息交流 ? 2020-07-05 10:42 ? 次閱讀

偶爾會有人問起STM32芯片的GPIO做輸出時還是否可能作為外部中斷觸發輸入,這里一起聊聊該話題。

作為STM32芯片,其外部中斷觸發源可以是硬件模式或軟件模式。所謂軟件模式就是通過操作相關寄存器產生內部中斷觸發信號并向內核NVIC控制器申請中斷。硬件模式自然是指來自GPIO引腳的電平跳變信號經邊沿檢測器形成中斷觸發信號向內核申請中斷。【注:還有個別外設事件也可以作為外部中斷觸發源映射到外部中斷控制器。】

我們這里要談的是基于硬件模式的外部中斷話題。當STM32的GPIO作為輸出時,可能是通用GPIO輸出也可能是基于其它外設復用情況下的輸出,即復用輸出。

下圖是GPIO作為基本輸入輸出時的功能框圖。

下面是GPIO作為其它外設的復用輸出腳時的功能框圖。

不難看出,所謂GPIO復用輸出,就是將自身輸出數據寄存器與輸出控制電路及外部管腳斷開來,并將輸出控制電路及外部管腳借讓給其它外設使用。通俗點說,所謂GPIO復用輸出就是其它外設找GPIO借道而已。

從上面兩幅圖來看,不論GPIO通用輸出還是復用輸出,外部管腳的電平都可以連接到內部輸入單元,管腳上的電平也應該可以被內部邊沿檢測器檢測到。也就是說,即使GPIO作為輸出,只要管腳上的電平跳變能被邊沿檢測器識別,按理可以作為外部中斷觸發源。

下面不妨用個簡單的實例驗證下。

這里使用一塊STM32F4系列的開放板,通過定時器1的通道1輸出8個PWM信號,同時將該定時器輸出通道所用管腳PA8配置為上升沿觸發的外部中斷輸入。PC13接一個按鍵,每按鍵一次啟動定時器輸出8個脈沖。

我使用STM32CubeMx圖形化工具進行配置。因為要把PWM輸出腳同時配置為外部中斷輸入這里不好操作。我先借用旁邊的PA9進行配置,等生成初始化代碼后我再將PA9改成PA8以及對應的中斷矢量。TIM1配置在單脈沖模式,我在PC3按鍵中斷里啟動TIM1的計數器。

TIM1的基本配置如下:

再就是兩個GPIO端口PC13/PA9的EXTI配置,分別對應按鍵腳和PWM輸出腳。

時鐘、調試口等配置完畢后生成初始化代碼,然后在代碼里將之前基于PA9生成的代碼改為基于TIM1-CH1的輸出腳PA8的。

主程序功能代碼很簡單,就是配置TIM1-CH1的pwm輸出。

在用戶按鍵中斷程序里啟動TIM1的計數器。

在基于PWM輸出腳PA8對應的外部中斷程序里對中斷次數進行統計。因它被配置為上沿觸發,每次連續輸出8個脈沖的話,統計值應該為8。

下面看看代碼運行結果:

每按鍵一次輸出8個脈沖,沒有問題。

再看看基于這個8個輸出脈沖統計到中斷次數,也確實為8次。【如下圖所示]

顯然,當GPIO做為輸出時還是可以感受到外部管腳電平的變化情況,并可以做為外部中斷觸發源申請中斷。結合上面GPIO輸出模式下的功能框圖來看,當它被配置為輸出時是具備雙向特性的。當然,一般來講,如果希望GPIO做為雙向驅動口使用時,建議將其配置為OD開漏結合上拉模式。比方在做I2C應用時,將通信GPIO端口配置為開漏模式結合上拉電阻即可進行雙向數據通信,無須對通信口的GPIO模式來回切換。

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

    關注

    31

    文章

    5412

    瀏覽量

    123181
  • GPIO
    +關注

    關注

    16

    文章

    1261

    瀏覽量

    53490

原文標題:GPIO做輸出還能作外部中斷輸入嗎?

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    基于小凌派RK2206開發板:OpenHarmony如何使用IoT接口控制GPIO中斷

    1、實驗簡介本實驗將演示如何在小凌派-RK2206開發板上使用IOT庫的GPIO中斷模式,進行GPIO編程開發。例程將創建一個任務,通過配置GPIO引腳為
    的頭像 發表于 04-21 10:39 ?309次閱讀
    基于小凌派RK2206開發板:OpenHarmony如何使用IoT接口控制<b class='flag-5'>GPIO</b><b class='flag-5'>中斷</b>

    ADS2812UPS使用外部AD8364,PWM中斷觸發外部AD,但電流采樣不到是為什么?

    2812UPS使用外部AD8364,PWM中斷觸發外部AD,但電流采樣不到,請問為什么?電壓能采樣到,我的電流霍爾是放在輸出濾波電感之前
    發表于 02-13 06:19

    GPIO使用教程 GPIO接口應用

    交互,實現外部設備的控制和數據傳輸。 一、GPIO的基本概念 GPIO的全稱是General-Purpose Input/Output,即通用輸入/
    的頭像 發表于 01-31 10:10 ?2600次閱讀

    GPIO模塊與其他外設的連接方法

    輸入輸出模式。在輸入模式下,GPIO引腳可以讀取外部信號的狀態;在輸出模式下,它們可以向
    的頭像 發表于 01-09 09:48 ?757次閱讀

    GPIO錯誤排查與解決

    輸入模式下,GPIO可以讀取外部信號;輸出模式下,GPIO可以控制外部設備。正確配置
    的頭像 發表于 01-09 09:46 ?1831次閱讀

    GPIO在嵌入式系統中的作用

    在現代電子系統中,嵌入式系統因其小型化、低成本和高效率而變得越來越流行。這些系統廣泛應用于從簡單的家用電器到復雜的工業自動化設備。在這些系統中,GPIO(通用輸入/輸出)接口是連接微控制器與
    的頭像 發表于 01-09 09:45 ?734次閱讀

    TMS320C645x DSP通用輸入/輸出(GPIO)用戶指南

    電子發燒友網站提供《TMS320C645x DSP通用輸入/輸出(GPIO)用戶指南.pdf》資料免費下載
    發表于 12-17 15:56 ?0次下載
    TMS320C645x DSP通用<b class='flag-5'>輸入</b>/<b class='flag-5'>輸出</b>(<b class='flag-5'>GPIO</b>)用戶指南

    stm32 GPIO中斷配置教程

    在嵌入式開發中,STM32微控制器因其高性能和豐富的外設而廣受歡迎。GPIO(通用輸入/輸出中斷是STM32微控制器中常用的功能之一,它允許開發者在特定引腳上檢測到
    的頭像 發表于 11-19 15:53 ?2884次閱讀

    STM32 GPIO的八種工作模式

    GPIO (general purpose input output)是通用輸入輸出端口的簡稱,簡單來說就是軟件可控制的引腳,STM32芯片的GPIO引腳與外部設備連接起來,從而實現與
    的頭像 發表于 11-06 09:40 ?1760次閱讀
    STM32 <b class='flag-5'>GPIO</b>的八種工作模式

    gpio接口是干什么的 gpio四種輸入輸出模式怎么選擇

    GPIO接口的作用 GPIO(General Purpose Input/Output)接口,即通用輸入輸出接口,是一種用于連接和控制各種外部設備的數字接口。它由一組引腳組成,可以通過
    的頭像 發表于 10-06 16:07 ?6911次閱讀

    GPIO靜電放電防護方案

    其他集成電路(IC)上常見的接口,它允許這些設備與外部世界進行交互。GPIO接口提供了基本的數字信號功能,可通過軟件分別配置成輸入輸出,即能夠作為
    的頭像 發表于 09-19 17:02 ?642次閱讀
    <b class='flag-5'>GPIO</b>靜電放電防護方案

    STM32CUBEMX(11)--外部中斷(EXTI)

    配置此端口為中斷口。 GPIO 口連接到 16 個外部中斷 / 事件線如下圖 。可以看到PC13應該是在EXTI13上。 外部
    發表于 09-10 15:44

    STM32 GPIO八種模式及工作原理詳解

    一. 前言 ??GPIO全稱General Purpose Input Output,是微控制數字輸入/輸出的基本模塊,可以實現微控制器與外部環境的數字進行交換。借助
    的頭像 發表于 07-22 09:32 ?8116次閱讀
    STM32 <b class='flag-5'>GPIO</b>八種模式及工作原理詳解

    st7735 DMA和GPIO外部中斷異常的原因?

    上圖是中斷優先級,我的DMA1是SPI,輸出信號到顯示屏st7735,邏輯是GPIO外部中斷處理串口數據,處理完成繼續運行顯示函數,當
    發表于 07-05 06:35

    ESP32藍牙不斷觸發GPIO外部中斷的原因?

    _NUM_39,外部已下拉;當觸發中斷,則改變GPIO_NUM_32輸出狀態。Code: Select all void trigger_demo(void *arg) { stati
    發表于 06-14 06:00