資源簡介
STM32按鍵識別(單擊 雙擊 多擊) 使用定時器+狀態(tài)機實現(xiàn),該例程已經(jīng)實現(xiàn)三個獨立按鍵的多功能識別,可以根據(jù)自己需要更改為其他用途,也可以更改為多擊,長時間按鍵識別。

代碼片段和文件信息
/*
*********************************************************************************************************
*
* 模塊名稱?:?BSP模塊(For?STM32F4XX)
* 文件名稱?:?bsp.c
* 版????本?:?V1.1
* 說????明?:?這是硬件底層驅(qū)動程序的主文件。每個c文件可以?#include?“bsp.h“?來包含所有的外設驅(qū)動模塊。
* ???bsp?=?Borad?surport?packet?板級支持包
*
*********************************************************************************************************
*/
#include?“bsp.h“
uint32_t?Clock;?/*存放主頻率時鐘??用于os滴答時鐘*/
/*
*********************************************************************************************************
* 函?數(shù)?名:?BSP_CPU_ClkFreq
* 功能說明:?獲取系統(tǒng)時鐘,uCOS-II需要使用
* 形????參:?無
* 返?回?值:?系統(tǒng)時鐘
*********************************************************************************************************
*/
uint32_t??BSP_CPU_ClkFreq?(void)
{
????RCC_ClocksTypeDef??rcc_clocks;
????RCC_GetClocksFreq(&rcc_clocks);
????return?((uint32_t)rcc_clocks.HCLK_Frequency);
}
/*
*********************************************************************************************************
* 函?數(shù)?名:?bsp_Init
* 功能說明:?初始化所有的硬件設備。該函數(shù)配置CPU寄存器和外設的寄存器并初始化一些全局變量。只需要調(diào)用一次
* 形????參:無
* 返?回?值:?無
*********************************************************************************************************
*/
void?bsp_Init(void)
{
????/*
???? 由于ST固件庫的啟動文件已經(jīng)執(zhí)行了CPU系統(tǒng)時鐘的初始化,所以不必再次重復配置系統(tǒng)時鐘。
???? 啟動文件配置了CPU主時鐘頻率、內(nèi)部Flash訪問速度和可選的外部SRAM?FSMC初始化。
???? 系統(tǒng)時鐘缺省配置為72MHz,如果需要更改,可以修改?system_stm32f4xx.c?文件
????*/
????Clock?=?BSP_CPU_ClkFreq();/*?獲取當前時鐘參數(shù)?*/
????bsp_Init_GPIO();?/*?初始?IO?端口?*/
????bsp_InitUart();?/*?初始化串口?*/
????bsp_InitSysTick();?/*?初始化系統(tǒng)滴答定時器?和延時函數(shù)?*/
????bsp_time();?/*?初始化定時器?*/
????bsp_InitKey();?/*?初始化按鍵變量?*/
}
/*****************************?(END?OF?FILE)?*********************************/
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-12-30?14:02??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\
?????目錄???????????0??2019-12-30?14:02??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Core-BSP\
?????目錄???????????0??2019-12-30?14:02??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Core-BSP\Inc\
?????文件?????????203??2019-11-07?13:29??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Core-BSP\Inc\MYtask.h
?????文件?????????298??2019-11-07?13:28??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Core-BSP\Inc\bsp_SysTick.h
?????文件?????????250??2019-11-07?13:18??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Core-BSP\Inc\bsp_function.h
?????文件?????????705??2019-12-26?09:14??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Core-BSP\Inc\bsp_gpio.h
?????文件?????????648??2019-11-07?13:29??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Core-BSP\Inc\bsp_iwdg.h
?????文件????????2914??2019-12-30?13:42??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Core-BSP\Inc\bsp_key.h
?????文件????????2496??2019-11-07?13:29??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Core-BSP\Inc\bsp_sys.h
?????文件?????????194??2019-11-18?14:29??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Core-BSP\Inc\bsp_timer.h
?????文件????????1223??2019-11-07?13:22??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Core-BSP\Inc\bsp_uart.h
?????目錄???????????0??2019-12-30?14:02??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Core-BSP\Src\
?????文件????????5144??2019-12-30?11:24??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Core-BSP\Src\MYtask.c
?????文件????????4153??2019-03-19?14:52??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Core-BSP\Src\bsp_SysTick.c
?????文件????????3367??2019-11-07?13:19??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Core-BSP\Src\bsp_function.c
?????文件????????6091??2019-12-26?10:20??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Core-BSP\Src\bsp_gpio.c
?????文件????????1453??2019-04-08?09:52??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Core-BSP\Src\bsp_iwdg.c
?????文件????????9697??2019-12-30?13:43??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Core-BSP\Src\bsp_key.c
?????文件?????????465??2019-03-18?21:10??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Core-BSP\Src\bsp_sys.c
?????文件???????11982??2019-12-30?14:01??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Core-BSP\Src\bsp_timer.c
?????文件????????8801??2019-12-24?13:14??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Core-BSP\Src\bsp_uart.c
?????文件????????2067??2019-12-26?11:29??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Core-BSP\bsp.c
?????文件????????1978??2019-12-26?13:08??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Core-BSP\bsp.h
?????文件????????3259??2011-04-04?19:03??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Core-BSP\stm32f10x_conf.h
?????文件????????4940??2019-03-17?19:05??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Core-BSP\stm32f10x_it.c
?????文件????????2086??2011-04-04?19:03??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Core-BSP\stm32f10x_it.h
?????目錄???????????0??2019-12-30?14:03??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Doc\
?????目錄???????????0??2019-12-30?14:02??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Drivers\
?????目錄???????????0??2019-12-30?14:02??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Drivers\CMSIS\
?????目錄???????????0??2019-12-30?14:02??狀態(tài)機按鍵?多個獨立按鍵識別?單擊?雙擊?長按?2019.12.30\Drivers\CMSIS\CM3\
............此處省略633個文件信息
評論
共有 條評論