娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年03月24日(星期一)

正在發生

2019年03月24日 | 使用STM32CubeMX開發:按鍵中斷實驗

發布者:快樂航程 來源: eefocus關鍵字:STM32CubeMX  按鍵中斷 手機看文章 掃描二維碼
隨時隨地手機看文章

硬件平臺:stm32F407Zet6

軟件平臺:stm32cubeMX 4.7+MDK5.14

電路連接:PE8-LED0、PE9-LED1、PE10-LED2、PE11-LED3、PE12-KEY0、PE13-KEY1、PE14-KEY2、PE15-KEY3

第一步、使用stm32cubeMX創建工程,選擇相應的芯片,配置RCC、SYS、引腳和時鐘如下圖所示:






注意,由于按鍵上有上拉電阻,這里選擇中斷模式的時候,我們選擇下降沿觸發中斷。

第二步,配置輸出Keil工程




第三步、編寫程序下載驗證

STM32CubeMx把代碼都生成了,查找函數,分析調用的過程,添加應用層代碼就行

首先在stm32f4xx_it.c文件中查找,所有的中斷函數都是放在這個文件中的,代碼如下:


[cpp] view plain copy

  1. void EXTI15_10_IRQHandler(void)  

  2. {  

  3.   /* USER CODE BEGIN EXTI15_10_IRQn 0 */  

  4.   

  5.   /* USER CODE END EXTI15_10_IRQn 0 */  

  6.   HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_12);  

  7.   HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13);  

  8.   HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_14);  

  9.   HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_15);  

  10.   /* USER CODE BEGIN EXTI15_10_IRQn 1 */  

  11.   

  12.   /* USER CODE END EXTI15_10_IRQn 1 */  

  13. }  

可以看出,這四個按鍵的中斷觸發后首先會調用這個函數,這個函數有調用HAL_GPIO_EXTI_IRQHandler,再看一下這個函數的原型


[cpp] view plain copy

  1. /** 

  2.   * @brief  This function handles EXTI interrupt request. 

  3.   * @param  GPIO_Pin: Specifies the pins connected EXTI line 

  4.   * @retval None 

  5.   */  

  6. void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)  

  7. {  

  8.   /* EXTI line interrupt detected */  

  9.   if(__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != RESET)  

  10.   {  

  11.     __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin);  

  12.     HAL_GPIO_EXTI_Callback(GPIO_Pin);  

  13.   }  

  14. }  

  15.   

  16. /** 

  17.   * @brief  EXTI line detection callbacks. 

  18.   * @param  GPIO_Pin: Specifies the pins connected EXTI line 

  19.   * @retval None 

  20.   */  

  21. __weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)  

  22. {  

  23.   /* NOTE: This function Should not be modified, when the callback is needed, 

  24.            the HAL_GPIO_EXTI_Callback could be implemented in the user file 

  25.    */  

  26. }  


根據程序可以知道,當中斷發生的時候會調用HAL_GPIO_EXTI_Callback();程序中只給出了一個虛函數,需要重新實現它,在main.c添加如下代碼,來重新實現這個函數,來完成功能:


[cpp] view plain copy

  1. /* USER CODE BEGIN 4 */  

  2. void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)  

  3. {  

  4.   /* NOTE: This function Should not be modified, when the callback is needed, 

  5.            the HAL_GPIO_EXTI_Callback could be implemented in the user file 

  6.    */  

  7.     switch(GPIO_Pin)  

  8.     {  

  9.         case GPIO_PIN_12:LED0_Toggle();break;  

  10.         case GPIO_PIN_13:LED1_Toggle();break;  

  11.         case GPIO_PIN_14:LED2_Toggle();break;  

  12.         case GPIO_PIN_15:LED3_Toggle();break;  

  13.         default:break;  

  14.     }  

  15. }  

  16. /* USER CODE END 4 */  


這樣就實現了當按鍵中斷發生的時候就反轉燈的狀態。


關鍵字:STM32CubeMX  按鍵中斷 引用地址:使用STM32CubeMX開發:按鍵中斷實驗

上一篇:STM32CubeMX學習教程之二:GPIO輸入之外部中斷
下一篇:STM32CubeMX學習教程之四:定時器中斷

推薦閱讀

在近日的Simicon智能汽車電子AI Inside分論壇上,英特爾子公司Mobileye?Sales Director童立豐分享了Mobileye高級駕駛輔助系統(ADAS)技術,并透露了未來幾年Mobileye 路網采集管理(REM?)等方面的技術和駕駛策略。?Mobileye ADAS技術當前多數車企上的自動駕駛汽車采用Mobileye ADAS技術,其中,超過10家核心伙伴正在與Mobileye研發自動駕駛車型...
如果你去看銷量榜,會發現中國早已成為全球新能源車銷量最高的地區,2018年的數據是125萬輛,工信部也對今年做了預測,保守估計150萬沒問題。 不論燃油車時代還是電氣化時代,在我們可預見的未來,中國都將是霸主級市場地位。那么,我們的新能源產業為什么能在短時間內發展起來呢?毫無疑問,這是國家鼓勵的作用。 開門見山,“補貼”大大促進了國內新能...
根據全球電子產業協會IPC針對150家會員進行的調查顯示,絕大多數的電子產品制造商和供應商擔心新型冠狀病毒(COVID-19)將沖擊其營運業務,導致電子制造商的產品供應推遲;但預期將會在今夏恢復正常營運... COVID-19疫情對于電子制造商的營運以及全球供應鏈的影響備受業界關注。為了掌握疫情對于電子產品制造商和供應商的影響,以及企業如何因應疫情沖擊與挑...
英飛凌科技股份公司推出車用650 V CoolSiC?混合分立器件。該器件包含一個50 A TRENCHSTOP? 5快速開關IGBT和一個CoolSiC肖特基二極管,能夠提升性價比并帶來高可靠性。這種組合為硬開關拓撲打造了一個兼顧品質與性價比的完美方案,除支持雙向充電之外,還有助于實現很高的系統集成度。這使得該器件非常適合諸多快速開關汽車應用,如車載充電器(OBC...

史海拾趣

問答坊 | AI 解惑

單片機控制兩USB設備的數據傳輸

我想用單品機實現控制兩個USB設備(最簡單的兩個U盤)的數據傳輸,不知可行否?若可行我需要看哪些相關資料?…

查看全部問答∨

嵌入式技術

   嵌入式的主流技術是?----------------------------------------------------------------?…

查看全部問答∨

ucos atmega128移植 二維數組賦值問題

我使用I2C 讀取90*18AD值, 讀取的數據不到2K 的數據量,但是我定義了adlvoldata[90][18]二維數組,存儲讀取的AD值,在我的UCOS系統里,每當使用轉存儲到二維數組的時候,系統都會死。。。 不知道是什么原因。   OSSemPend(ReacPlateCir ...…

查看全部問答∨

請教讀取txt文件的問題

小弟練習做一個電子閱讀器, 現在要嘗試讀txt文件, 以前用過讀取文件的api, 不知道txt是不是可以這么讀取呢? 其他格式的電子書文件是否先用文件api打開, 再按照特定的方式解碼呢? 最后想問問高手們讀取大量的文字需要動態分配內存, 小 ...…

查看全部問答∨

德克羅蒙推出一款傳感器

德克羅蒙推出一款傳感器,帶LED現場顯示一體化溫度變送器,可帶現場顯示功能。 可選各類卡盤及螺絲連接方式。316L材質。 精度可選德國DIN,AA,A,B,C級精度。 輸出4-20MA…

查看全部問答∨

基于LM3S8962的以太網軟件工具-keil工具

附件是三個工具的demo,還有兩個參見下面鏈接,希望對大家有幫助 FreeRTOS demo for EKK-LM3Sxxxx http://www.freertos.org/index.html?http://www.freertos.org/a00090.html#LUMINARYMICRO NicheLite demo for EKx-LM3S8962 http://www.iniche ...…

查看全部問答∨

誰學28335,找個伴?

新手,零基礎,學28335,焦頭爛額,想找個伴,或者老師,共同交流,進步…

查看全部問答∨

急啊--過渡狀態如何理解?

#define TRST 0xC3               // 過渡狀態 是把它當作內存來用的嗎? 如果不是那它到底是怎樣? 0xC3是不是用作一個地址,而不是一個常量.  …

查看全部問答∨

新手編譯出現的一個問題,望高手出手

外部用的是有源晶振,20M,產生錯誤:Error: Input pin "CLK" feeds inclk ports of PLL "altpll0:inst2|altpll:altpll_component|pll" and other PLLs -- the input pin cannot feed inclk ports of more than 1 PLL Error: Input pin ...…

查看全部問答∨

我也來點亮MSP430F5529的leds (CCSv5)

先前玩過了msp430g2553 launchpad.玩f5529比較熟悉點。 由一圖可知用戶的燈在P1.0,P8.1,P8.2. 由二圖簡單創建工程。 #include <msp430.h> /* * main.c */ void main(void) {     WDTCTL = WDTPW | WDTHOLD;  &n ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 西吉县| 武夷山市| 富川| 临夏市| 万荣县| 宁陵县| 弥渡县| 依兰县| 延津县| 安远县| 织金县| 凤山市| 宜都市| 河津市| 宿迁市| 兴和县| 璧山县| 沾益县| 江津市| 中山市| 新巴尔虎右旗| 湖南省| 大关县| 祁东县| 桂林市| 富裕县| 扎赉特旗| 无为县| 浙江省| 馆陶县| 晋州市| 临猗县| 新晃| 广河县| 东源县| 清丰县| 周宁县| 河西区| 晋州市| 雅安市| 修武县|