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

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用STM32CubeIDE軟件實現(xiàn)STM32外部中斷實例

8Y52_c_stm32 ? 來源:ARM與嵌入式 ? 作者:保生 ? 2022-08-24 09:09 ? 次閱讀

本文用STM32CubeIDE軟件實現(xiàn)STM32外部中斷實例。

新建工程

“File”-“New”-“STM32 Project”。

7b81411a-22d2-11ed-ba43-dac502259ad0.png

輸入芯片型號STM32F103ZE。

7b901488-22d2-11ed-ba43-dac502259ad0.png

選擇相應(yīng)封裝,下一步。

7ba59dd0-22d2-11ed-ba43-dac502259ad0.png

填寫項目名,選擇工程位置,下一步。

7bbd5a4c-22d2-11ed-ba43-dac502259ad0.png

配置時鐘、調(diào)試模式

選擇高速外部時鐘。

7be491a2-22d2-11ed-ba43-dac502259ad0.png

HCLK總線時鐘處輸入72,回車,配置使用最高時鐘頻率。

7bf80282-22d2-11ed-ba43-dac502259ad0.png

調(diào)試模式選擇串行,方便下載程序。

7c18918c-22d2-11ed-ba43-dac502259ad0.png

配置管腳外設(shè)

本實例中用到了LED1與KEY_LEFT,找到相應(yīng)電路圖。

7c2a1600-22d2-11ed-ba43-dac502259ad0.png

7c4a2e54-22d2-11ed-ba43-dac502259ad0.png

7c5b86c2-22d2-11ed-ba43-dac502259ad0.png

可見LED1對應(yīng)PC0管腳,低電平點亮。按鍵K1對應(yīng)PE2管腳,低電平有效。

PC0配置為GPIO_Output,GPIO輸出模式

7c850d80-22d2-11ed-ba43-dac502259ad0.png

PE2配置為GPIO_EXTI2,GPIO中斷線2。

7c97c81c-22d2-11ed-ba43-dac502259ad0.png

對GPIO進行配置,可以看到PC0、PE2兩個管腳。

PC0管腳的配置:

GPIO輸出電平,“High”,復(fù)位后高電平,LED1熄滅狀態(tài)。

GPIO模式,“OutputPushPull”,推挽輸出,相關(guān)文章:梳理清楚推挽、開漏、OC、OD。

GPIO上拉下拉,“Pull-up”,上拉,默認(rèn)高電平,避免管腳電平狀態(tài)不穩(wěn)定

7ca8f7ae-22d2-11ed-ba43-dac502259ad0.png

PE2管腳的配置,GPIO模式這里有6個選項,分別是:

上升沿觸發(fā)的外部中斷

下降沿觸發(fā)的外部中斷

上升/下降沿觸發(fā)的外部中斷

上升沿觸發(fā)的事件中斷

下降沿觸發(fā)的事件中斷

上升/下降沿觸發(fā)的事件中斷

“外部中斷”與“事件中斷”的區(qū)別:

“事件中斷”可以由硬件自動完成這個事件產(chǎn)生的結(jié)果,比如引起DMA操作、AD轉(zhuǎn)換等,響應(yīng)速度更快。

而本例中需要中斷服務(wù)函數(shù)才能完成中斷后產(chǎn)生的結(jié)果,是“外部中斷”

由電路圖可知,KEY1按鍵按下時為低電平,過程中會產(chǎn)生一個下降沿,所以選擇“下降沿外部中斷”這一項。

按鍵低電平有效,選擇上拉,給管腳一個穩(wěn)定的電平狀態(tài),不按下時為默認(rèn)的高電平。

7cc38042-22d2-11ed-ba43-dac502259ad0.png

配置NVIC嵌套向量中斷控制器

NVIC就是用來控制中斷響應(yīng)的,如下圖列出了各個中斷??梢苑謩e配置其使能狀態(tài)、搶占優(yōu)先級與響應(yīng)優(yōu)先級。

7ce2dbe0-22d2-11ed-ba43-dac502259ad0.png

因為PE2配置為GPIO_EXTI2中斷,它出現(xiàn)在了列表中。同時出現(xiàn)的還有SysTick,它是HAL_Delay的時基來源,如下圖note處所說的,每隔一個固定時間產(chǎn)生一次中斷。

因為下文中斷服務(wù)函數(shù)代碼中用到了HAL_Delay延時函數(shù),把SysTick與EXTI2的搶占優(yōu)先級分別設(shè)置為0與2。在這里,數(shù)值越大優(yōu)先級越小。

7cf4ea24-22d2-11ed-ba43-dac502259ad0.png

配置中斷服務(wù)函數(shù)

進行上述配置之后,點擊生成代碼。

7d186a76-22d2-11ed-ba43-dac502259ad0.png

本實例中的中斷類型是“外部中斷”,通過中斷服務(wù)函數(shù)來實現(xiàn)。

打開stm32f1xx_it.c文件,找到中斷服務(wù)函數(shù),它調(diào)用了GPIO中斷服務(wù)函數(shù)。

7d2c3952-22d2-11ed-ba43-dac502259ad0.png

F3找到這個函數(shù)的定義,在清除中斷標(biāo)志位后,進入了Callback回調(diào)函數(shù)。

7d40ee60-22d2-11ed-ba43-dac502259ad0.png

這個Callback函數(shù)也是一個弱化函數(shù),,可以重寫,如下圖的__weak標(biāo)識。

7d4f0a04-22d2-11ed-ba43-dac502259ad0.png

回到stm32f1xx_it.c文件,在末尾user code處寫上中斷發(fā)生時要實現(xiàn)的結(jié)果。

7d648000-22d2-11ed-ba43-dac502259ad0.png

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 控制器
    +關(guān)注

    關(guān)注

    114

    文章

    17022

    瀏覽量

    183276
  • STM32
    +關(guān)注

    關(guān)注

    2290

    文章

    11018

    瀏覽量

    362962
  • 中斷
    +關(guān)注

    關(guān)注

    5

    文章

    904

    瀏覽量

    42571
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1278

    瀏覽量

    53694

原文標(biāo)題:STM32外部中斷實例

文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    STM32CubeIDE SWV功能介紹

    開發(fā)環(huán)境,將Printf定位到串口上是正常的,但是在重定位到SWO上卻出現(xiàn)了無法打印的問題。客戶也參考了網(wǎng)上的教程,仍然無法實現(xiàn),不知道是什么原因。 STM32CubeIDE 版本:V1.6.1 硬件
    的頭像 發(fā)表于 10-13 14:20 ?4132次閱讀
    <b class='flag-5'>STM32CubeIDE</b> SWV功能介紹

    Ubuntu 18.04 安裝 STM32CubeIDE 小記

    Ubuntu 18.04 安裝 STM32CubeIDE 小記
    發(fā)表于 11-18 17:36 ?9次下載
    Ubuntu 18.04 安裝 <b class='flag-5'>STM32CubeIDE</b> 小記

    如何用STM32CubeIDE軟件實現(xiàn)STM32外部中斷

    本文STM32CubeIDE軟件實現(xiàn)STM32外部中斷
    的頭像 發(fā)表于 11-22 10:15 ?5815次閱讀
    如何用<b class='flag-5'>STM32CubeIDE</b><b class='flag-5'>軟件</b><b class='flag-5'>實現(xiàn)</b><b class='flag-5'>STM32</b><b class='flag-5'>外部</b><b class='flag-5'>中斷</b>

    STM32CubeIDE XiP 和 BootROM介紹, XiP外部內(nèi)存QSPI FLASH執(zhí)行用戶代碼

    STM32CubeIDE XiP 和 BootROM介紹, XiP外部內(nèi)存QSPI FLASH執(zhí)行用戶代碼
    發(fā)表于 12-02 09:21 ?14次下載
    <b class='flag-5'>STM32CubeIDE</b> XiP 和 BootROM介紹, XiP<b class='flag-5'>外部</b>內(nèi)存QSPI FLASH執(zhí)行用戶代碼

    STM32CubeIDE使用

    參考STM32CubeIDE屬于一站式工具,本文帶你體驗它的強大第一個STM32CubeIDE項目STM32CubeIDE使用記錄STM32CubeIDE使用筆記(03):使用ST-L
    發(fā)表于 12-02 17:21 ?29次下載
    <b class='flag-5'>STM32CubeIDE</b>使用

    STM32CubeIDE初識

    STM32CubeIDE初識
    發(fā)表于 12-02 18:36 ?23次下載
    <b class='flag-5'>STM32CubeIDE</b>初識

    STM32CubeIDE安裝-NSIS Error問題

    STM32CubeIDE安裝-NSIS Error問題
    發(fā)表于 12-03 21:06 ?18次下載
    <b class='flag-5'>STM32CubeIDE</b>安裝-NSIS Error問題

    STM32CubeIDE的MCU開發(fā)

    以前做stm32嵌入式開發(fā)均使用的是破解版的keil軟件,現(xiàn)在工作需要無法按照此步驟進行,最近針對ST官方免費軟件STM32CubeIDE進行了相關(guān)調(diào)研工作。1
    發(fā)表于 12-05 12:21 ?25次下載
    <b class='flag-5'>STM32CubeIDE</b>的MCU開發(fā)

    第一個STM32CubeIDE項目

    使用STM32CubeIDE的第一個項目開始第一個項目添加代碼今天開始做一個STM32CubeIDE的第一個項目,首先需要說明的:STM32CubeIDE是一個免費的軟件開始第一個項目
    發(fā)表于 12-29 19:29 ?11次下載
    第一個<b class='flag-5'>STM32CubeIDE</b>項目

    STM32CubeIDE生成的工程

    近日接到一客戶需求,其欲在 STM32CubeIDE 中指定堆(Heap)的地址到某一專用的RAM 中。
    的頭像 發(fā)表于 07-27 09:40 ?2047次閱讀

    STM32CUBEIDE(1)----安裝

    概述 STM32CubeIDE是一體式多操作系統(tǒng)開發(fā)工具,是STM32Cube軟件生態(tài)系統(tǒng)的一部分。 STM32CubeIDE是一種高級C/C++開發(fā)平臺,具有
    的頭像 發(fā)表于 11-22 09:52 ?1669次閱讀
    <b class='flag-5'>STM32CUBEIDE</b>(1)----安裝

    STM32CubeIDE安裝指南

    電子發(fā)燒友網(wǎng)站提供《STM32CubeIDE安裝指南.pdf》資料免費下載
    發(fā)表于 08-01 15:44 ?6次下載
    <b class='flag-5'>STM32CubeIDE</b>安裝指南

    巧用 STM32CubeIDE 之編譯警告

    巧用 STM32CubeIDE 之編譯警告
    的頭像 發(fā)表于 10-25 16:33 ?1405次閱讀
    巧用 <b class='flag-5'>STM32CubeIDE</b> 之編譯警告

    STM32CubeIDE快速入門指南

    電子發(fā)燒友網(wǎng)站提供《STM32CubeIDE快速入門指南.pdf》資料免費下載
    發(fā)表于 09-19 14:29 ?23次下載
    <b class='flag-5'>STM32CubeIDE</b>快速入門指南

    STM32CubeIDE找不到elf

    STM32CubeIDE是STMicroelectronics公司推出的一款集成開發(fā)環(huán)境(IDE),用于開發(fā)STM32系列微控制器的應(yīng)用程序。它基于Eclipse開發(fā)平臺,并集成了ST的驅(qū)動程序
    的頭像 發(fā)表于 01-02 16:32 ?2715次閱讀
    主站蜘蛛池模板: 国产精品大尺度尺度视频 | 操美女在线看 | 日操夜干| 久久www免费人成看片色多多 | 深爱激情婷婷 | 久久天天躁狠狠躁夜夜不卡 | 亚洲视频一二三 | 永久看日本大片免费 | 日韩亚色 | 美女视频久久 | 日韩免费精品视频 | 欧美日本一区二区三区道 | 成人午夜在线观看国产 | 看黄网站在线看 | 97天天摸天天碰天天爽 | 天天综合视频网 | yy6080亚洲半夜理论一级毛片 | 精品国产第一国产综合精品gif | 快色视频免费观看 | 久久精品国产免费中文 | 色噜噜狠狠成人网 | 免费 的黄色| 精品四虎免费观看国产高清 | 在线视频h | 日本a级特黄三级三级三级 日本边添边爱边摸边做边爱 | 色噜噜狠狠成人影院 | 美女h片 | 国产自在自线午夜精品视频在 | 97久久综合区小说区图片专区 | 国产偷啪视频一区 | 新版天堂资源中文在线 | 轻点太大了好深好爽h文 | 三级网在线 | 天天视频一区二区三区 | 久久精品1 | 人人干狠狠操 | 日日天天干 | 免费网站毛片 | 福利一级片 | 亚洲欧洲一区二区三区在线观看 | 视频免费观看视频 |