STM32cubemx 按鍵檢測和掃瞄按鍵

2021-10-10 08:11:30 字數 1022 閱讀 1412

stm32cubemx工程和keil工程

提取碼:h57s

使用的是stm32_h750

#define key_scan

//選擇功能

#ifdef 		key_scan

i=scan_key_a()

;#else

i=scan_key_b()

;#endif

switch

(i)uint8_t scan_key_a()

//if

(hal_gpio_readpin

(gpioc,gpio_pin_13)

==key_on)

return0;

}uint8_t scan_key_b()

//掃瞄按鍵 可以兩個按鍵都按下if(

hal_gpio_readpin

(gpioc,gpio_pin_13)

==key_on)

keystate=keystate*

2+keystate_b;

return keystate;

}

想要實現長按,短按,可以使用狀態機,使用定時器,去計時,實現長按,短按功能。

gpio寫函式

hal_gpio_writepin

(gpiog,gpio_pin_3,gpio_pin_reset)

;

gpio讀函式

hal_gpio_readpin

(gpioc, gpio_pin_0)

;

gpio翻轉函式

hal_gpio_togglepin

(gpioc, gpio_pin_0)

;

延時函式ms

hal_delay

(100

);

my_quinta的筆記

STM32CubeMX系列 待機喚醒

1.低功耗模式簡介 系統或電源復位後,微處理器處於執行狀態,執行狀態下hclk為cpu提供時鐘,核心執行程式 當cpu不需繼續執行時 例如等待某個外部事件 可以利用多個低功耗模式來節省功耗。使用者需要根據最低電源消耗 最快速啟動時間和可用的喚醒源等條件,選定乙個最佳的低功耗模式。stm32提供了3種...

STM32CubeMX系列 記憶體管理

1.記憶體管理簡介 stm32f103zet6內部有64kb的sram記憶體,加上外擴的128kb容量的sram後,可使用的記憶體還是比較多的。本例程將介紹一種簡單的記憶體管理方式 即分塊記憶體管理 來有效管理這些記憶體,類似於c語言中通過malloc函式和free函式來申請和釋放記憶體 記憶體管理...

用STM32CubeMX建立FreeRTOS專案

1.目標,pg13,pg14雙線程雙閃燈。2.測試平台 stm32f429i disco keil v5.13.0.0 cubemx 4.8.0 3.步驟 3.1 開啟cube,pg13,13設為輸出,rcc選外部晶振,點選freertos 3.2 時鐘配置介面 enable css,配置成系統主頻...