国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

STM32G030C8T6:使用按鍵控制LED亮滅(外部中斷)

這篇具有很好參考價(jià)值的文章主要介紹了STM32G030C8T6:使用按鍵控制LED亮滅(外部中斷)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

本專欄記錄STM32開發(fā)各個(gè)功能的詳細(xì)過程,方便自己后續(xù)查看,當(dāng)然也供正在入門STM32單片機(jī)的兄弟們參考;

本小節(jié)的目標(biāo)是,系統(tǒng)主頻64 MHZ,采用高速外部晶振,通過KEY1 按鍵的PA0 引腳配置成中斷輸入引腳,PB9引腳配置成輸出,每次按鍵,PA0 引腳就會(huì)進(jìn)入一次外部中斷,每進(jìn)入一次中斷服務(wù)程序,改變PB9 輸出電平的高低,從而實(shí)現(xiàn)LED 燈的亮滅。
原理:通過KEY1按鍵的PA0引腳配置成中斷輸入引腳,PB9引腳配置成輸出,每次按鍵,PA0引腳就會(huì)進(jìn)入一次外部中斷,每進(jìn)入一次中斷服務(wù)程序,改變PB9輸出電平的高低,從而實(shí)現(xiàn)LED燈的亮滅。
涉及到的知識(shí):GPIO外部中斷輸入,配置GPIO為輸出引腳,STM32CubeMX的使用
我是將PB9引腳接的LED,所以本小節(jié)是以PB9為例記錄的,如果需要將其他引腳配置為L(zhǎng)ED燈,那將PB4改為其他對(duì)應(yīng)的引腳即可;

1 新建工程

點(diǎn)擊File 菜單下的New Project

STM32G030C8T6:使用按鍵控制LED亮滅(外部中斷),STM32開發(fā)實(shí)戰(zhàn),stm32,嵌入式硬件,單片機(jī)

選擇芯片型號(hào),如下圖所示先輸入芯片型號(hào),目前這邊輸入STM32G030C8,

STM32G030C8T6:使用按鍵控制LED亮滅(外部中斷),STM32開發(fā)實(shí)戰(zhàn),stm32,嵌入式硬件,單片機(jī)

雙擊選擇,就確定了芯片型號(hào),界面會(huì)變成如下圖所示

STM32G030C8T6:使用按鍵控制LED亮滅(外部中斷),STM32開發(fā)實(shí)戰(zhàn),stm32,嵌入式硬件,單片機(jī)

2 配置SWD下載引腳

如下圖所示,在Pinout&Configuration 欄目的System Core 下,先點(diǎn)擊SYS,再勾選Serial Wire 框,
配置好SWD 下載引腳設(shè)置:

STM32G030C8T6:使用按鍵控制LED亮滅(外部中斷),STM32開發(fā)實(shí)戰(zhàn),stm32,嵌入式硬件,單片機(jī)

3 配置GPIO輸出

按下圖 的1,2,3 步驟完成PB4 引腳配置成GPIO 輸出設(shè)置:

STM32G030C8T6:使用按鍵控制LED亮滅(外部中斷),STM32開發(fā)實(shí)戰(zhàn),stm32,嵌入式硬件,單片機(jī)

配置成功后如下圖所示:
STM32G030C8T6:使用按鍵控制LED亮滅(外部中斷),STM32開發(fā)實(shí)戰(zhàn),stm32,嵌入式硬件,單片機(jī)

4 配置RCC

如下圖,先點(diǎn)擊RCC,在HSE 配置中選擇Crystal/Ceramic Resonator 外部晶振設(shè)

STM32G030C8T6:使用按鍵控制LED亮滅(外部中斷),STM32開發(fā)實(shí)戰(zhàn),stm32,嵌入式硬件,單片機(jī)

5 設(shè)置系統(tǒng)主頻

如下圖, 先點(diǎn)擊Clock Configuration 欄目,按下圖的1,2,3,4 步驟完成系統(tǒng)64MHZ 主頻設(shè)置:

STM32G030C8T6:使用按鍵控制LED亮滅(外部中斷),STM32開發(fā)實(shí)戰(zhàn),stm32,嵌入式硬件,單片機(jī)

6 配置按鍵外部中斷

如下圖的1,2步驟完成PA0引腳配置成GPIO 外部中斷輸入設(shè)置:
STM32G030C8T6:使用按鍵控制LED亮滅(外部中斷),STM32開發(fā)實(shí)戰(zhàn),stm32,嵌入式硬件,單片機(jī)

如下圖1,2,3,4 步驟完成PA0 中斷觸發(fā)沿以及上下拉配置:
STM32G030C8T6:使用按鍵控制LED亮滅(外部中斷),STM32開發(fā)實(shí)戰(zhàn),stm32,嵌入式硬件,單片機(jī)

都配置完成后,如下圖所示:

STM32G030C8T6:使用按鍵控制LED亮滅(外部中斷),STM32開發(fā)實(shí)戰(zhàn),stm32,嵌入式硬件,單片機(jī)

7 外部中斷使能

如下圖 的1,2 步驟完成外部中斷使能配置,這樣PC13 引腳電平有變化就會(huì)產(chǎn)生中斷了。

STM32G030C8T6:使用按鍵控制LED亮滅(外部中斷),STM32開發(fā)實(shí)戰(zhàn),stm32,嵌入式硬件,單片機(jī)

8 生成工程

按照下圖的步驟,進(jìn)行項(xiàng)目配置,項(xiàng)目名稱和路徑設(shè)置等,生成項(xiàng)目的類型選擇STM32CubeIDE(我這里以STM32CubeIDE為例,如果你要試用keil5,那就選擇MDK-RAM,如果要使用makefile,就選擇Makefile),注意項(xiàng)目名稱和路徑不要有中文名;
STM32G030C8T6:使用按鍵控制LED亮滅(外部中斷),STM32開發(fā)實(shí)戰(zhàn),stm32,嵌入式硬件,單片機(jī)

最后全部設(shè)置完畢后點(diǎn)擊create code,生成項(xiàng)目代碼:

STM32G030C8T6:使用按鍵控制LED亮滅(外部中斷),STM32開發(fā)實(shí)戰(zhàn),stm32,嵌入式硬件,單片機(jī)

生成的工程如下圖所示:
STM32G030C8T6:使用按鍵控制LED亮滅(外部中斷),STM32開發(fā)實(shí)戰(zhàn),stm32,嵌入式硬件,單片機(jī)

9 增加代碼實(shí)現(xiàn)按鍵控制LED

增加代碼實(shí)現(xiàn)PA0 引腳進(jìn)入一次外部中斷,改變PB9 輸出電平的高低

點(diǎn)擊上一步生成的.project文件,會(huì)打開STM32CubeIDE,然后在stm32g0xx.it.c中,找到外部中斷服務(wù)程序,如下圖所示:

STM32G030C8T6:使用按鍵控制LED亮滅(外部中斷),STM32開發(fā)實(shí)戰(zhàn),stm32,嵌入式硬件,單片機(jī)

然后,在外部中斷服務(wù)程序中調(diào)用的HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0)內(nèi)
部,找到HAL_GPIO_EXTI_Rising_Callback 這個(gè)上升沿回調(diào)函數(shù),如下圖所示:

STM32G030C8T6:使用按鍵控制LED亮滅(外部中斷),STM32開發(fā)實(shí)戰(zhàn),stm32,嵌入式硬件,單片機(jī)
加入PB9 翻轉(zhuǎn)輸出就可以:

 HAL_GPIO_Togglepin(GPIOB,GPIO_PIN_9);//每次進(jìn)入一次外部中斷,實(shí)現(xiàn)PB9引腳翻轉(zhuǎn)輸出一次

STM32G030C8T6:使用按鍵控制LED亮滅(外部中斷),STM32開發(fā)實(shí)戰(zhàn),stm32,嵌入式硬件,單片機(jī)

至此,編譯并調(diào)試,即可成功案件控制LED開關(guān);

當(dāng)程序開始后,LED燈是亮著的,按下按鍵,LED會(huì)變滅,再次按下按鍵,LED會(huì)點(diǎn)亮;文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-752091.html

到了這里,關(guān)于STM32G030C8T6:使用按鍵控制LED亮滅(外部中斷)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • STM32F103C8T6 按鍵掃描輸入

    STM32F103C8T6 按鍵掃描輸入

    第一章 STM32F103C8T6 點(diǎn)亮LED燈 系列文章目錄 前言 一、原理 ?1.按鍵類型 ?2.按鍵消抖 3.IO口輸入配置 1)模擬輸出 2)浮空輸入模式 3)下拉輸入模式(PULL DOWN) 4)上拉輸入模式(PULL UP) 二、代碼部分 main.c key.c key.h 總結(jié) ? ? ? ? 上一章我們成功入門了STM32F103C8T6,今天我們來(lái)

    2023年04月23日
    瀏覽(30)
  • STM32G030F6P6 芯片實(shí)驗(yàn) (一)

    STM32G030F6P6 芯片實(shí)驗(yàn) (一)

    淘寶搞了幾片, 沒試過 G系列, 試試感覺. 先搞片小系統(tǒng)版: 套 STM32F103C8T6小系統(tǒng)板格式. (1) Ref 有點(diǎn)跳, 從 STM32F103C8T6 系統(tǒng)板改的, 沒重編號(hào). (2) Type-C 純給電, 砍了 16pin的, 直接換 6pin的。 (3) 測(cè)試LED放 B2。 (4) 測(cè)試底板用原來(lái) STM32F103C8T6的。 直接用嘉立創(chuàng)EDA畫了板, EDA用起來(lái)還可以

    2024年02月08日
    瀏覽(24)
  • 搖桿按鍵+SG90 實(shí)現(xiàn)舵機(jī)云臺(tái)(STM32F103C8T6)

    搖桿按鍵+SG90 實(shí)現(xiàn)舵機(jī)云臺(tái)(STM32F103C8T6)

    STM32F103C8T6最小系統(tǒng)板*1 SG90舵機(jī)(180°)*2 搖桿按鍵*1 舵機(jī)支架*1 面包板*1(非必須) 杜邦線若干 類似這種的支架,不過需要自己裁切嵌入的部分 代碼很簡(jiǎn)單,主要使用ADC雙通道讀取兩個(gè)電位器的值(實(shí)際上就是電壓),通過獲取到的值的范圍來(lái)確定上下左右,從而來(lái)改變兩

    2024年02月14日
    瀏覽(21)
  • STM32C8T6控制智能小車代碼

    本程序是在keil5軟件下使用標(biāo)準(zhǔn)庫(kù)編程的,純自己手打,包含詳細(xì)的代碼注釋。 首先就是PWM模塊,次模塊用于改變小車的轉(zhuǎn)速,本項(xiàng)目用一個(gè)L98N電機(jī)驅(qū)動(dòng)模塊,將左邊的兩個(gè)輪子連接在一個(gè)L98N電機(jī)驅(qū)動(dòng)模塊輸出引腳,將坐標(biāo)的兩個(gè)輪子連接在L298N的另外一個(gè)輸出引腳,由此控

    2024年02月05日
    瀏覽(19)
  • 舵機(jī)控制(STM32F103C8T6)

    舵機(jī)控制(STM32F103C8T6)

    ? ? ? ? 本文是以 STM32F103C8T6 作為主控芯片,通過PB6端口輸出PWM,實(shí)現(xiàn)控制180°舵機(jī)。 (一)概述 ? ? ? ? 舵機(jī)是一種位置伺服驅(qū)動(dòng)器器,是一種帶有輸出軸的小裝置。當(dāng)我們向伺服器發(fā)送一個(gè)控制信號(hào)時(shí),輸出軸就可以轉(zhuǎn)到特定的位置。只在控制信號(hào)持續(xù)不變,伺服機(jī)構(gòu)就

    2023年04月09日
    瀏覽(25)
  • 【基于STM32F103C8T6的智能風(fēng)扇控制】

    【基于STM32F103C8T6的智能風(fēng)扇控制】

    本次分享的是基于STM32F103的智能風(fēng)扇的制作,相關(guān)的硬件和部分源碼可看下面哦,需要成品的可私(創(chuàng)作不易,拒絕白嫖) 喜歡就給小殷一個(gè)關(guān)注和點(diǎn)贊吧 演示視頻鏈接 1、按鍵模式下通過按鍵進(jìn)行風(fēng)扇檔數(shù)改變一共設(shè)置為4檔 2、自動(dòng)模式下根據(jù)環(huán)境溫度而改變溫度的轉(zhuǎn)速和

    2024年02月12日
    瀏覽(34)
  • STM32G030F6 (SOP-20)Cortex ? -M0+, 32KB Flash, 8KB RAM, 17 GPIOs

    STM32G030F6 (SOP-20)Cortex ? -M0+, 32KB Flash, 8KB RAM, 17 GPIOs

    淘寶淘了一批 STM32G030F6P6 SOP20.先備注一下, 還沒想到能干嘛用. 手上的 STM32F103C6T6還剩一些. 一堆 “淘寶原廠STM32F103C8T6”, 還燙著手. 理解信息: ( 逐步補(bǔ)充 ) System Clock GPIOs USART Timer ADC I2C STM32G030F6 (SOP-20) Arm ? Cortex ? -M0+ 32-bit MCU, 32 KB Flash, 8 KB RAM, 2x USART, timers, ADC, comm. I/Fs

    2024年02月10日
    瀏覽(20)
  • STM32驅(qū)動(dòng)串口屏,STM32F103C8T6串口發(fā)送指令控制HMI串口屏

    STM32驅(qū)動(dòng)串口屏,STM32F103C8T6串口發(fā)送指令控制HMI串口屏

    串口屏是一個(gè)集成了單片機(jī)的屏幕模塊,采用的是TTL串口協(xié)議,可以直接通過對(duì)應(yīng)指令控制屏幕, 本文采用的串口屏是陶晶馳T0系列的基本型,目的是通過單片機(jī)的串口來(lái)控制串口屏 上面僅是一部分常用的基礎(chǔ)指令,更多更仔細(xì)的指令或者函數(shù)可以訪問陶晶馳資料官網(wǎng)。 硬

    2024年02月13日
    瀏覽(29)
  • 【stm32c8t6多個(gè)串口同時(shí)使用】

    【stm32c8t6多個(gè)串口同時(shí)使用】

    最近做的一個(gè)小項(xiàng)目會(huì)同時(shí)用到多個(gè)串口,不同串口連接不同外設(shè)根據(jù)不同控制指令來(lái)執(zhí)行相應(yīng)的功能(wifi、語(yǔ)音等)如何同時(shí)進(jìn)行不同串口之間的配置原理和配置單個(gè)串口相同,下面就以三個(gè)串口中斷分別來(lái)進(jìn)行LED的控制,后面根據(jù)自己的需求將串口接在不同的外設(shè)上面就

    2024年02月15日
    瀏覽(26)
  • 基于STM32F103C8T6使用Arduino IDE編程閉環(huán)控制4個(gè)帶編碼器的有刷直流電機(jī)

    基于STM32F103C8T6使用Arduino IDE編程閉環(huán)控制4個(gè)帶編碼器的有刷直流電機(jī)

    題記:標(biāo)題有點(diǎn)長(zhǎng)了,純粹為了方便被檢索到~~~本貼主要用于支持南方科技大學(xué)SDIM學(xué)院工業(yè)設(shè)計(jì)專業(yè)大三綜合項(xiàng)目移動(dòng)底盤學(xué)習(xí),也是我自己按照費(fèi)曼學(xué)習(xí)方法的一次嘗試,用從底層搭建一個(gè)機(jī)器人底盤來(lái)復(fù)習(xí)自動(dòng)控制原理。 ? ? ? ? 由于工業(yè)設(shè)計(jì)專業(yè)沒有開設(shè)嵌入式課程

    2024年02月05日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包