• 大小: 2.07MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-09-09
  • 语言: 其他
  • 标签: 按键  FSM  状态机  

资源简介

STM32按键识别(单击 双击 多击) 使用定时器+状态机实现,该例程已经实现三个独立按键的多功能识别,可以根据自己需要更改为其他用途,也可以更改为多击,长时间按键识别。

资源截图

代码片段和文件信息

/*
*********************************************************************************************************
*
* 模块名称 : BSP模块(For STM32F4XX)
* 文件名称 : bsp.c
* 版    本 : V1.1
* 说    明 : 这是硬件底层驱动程序的主文件。每个c文件可以 #include “bsp.h“ 来包含所有的外设驱动模块。
*    bsp = Borad surport packet 板级支持包
*
*********************************************************************************************************
*/
#include “bsp.h“

uint32_t Clock; /*存放主频率时钟  用于os滴答时钟*/

/*
*********************************************************************************************************
* 函 数 名: BSP_CPU_ClkFreq
* 功能说明: 获取系统时钟,uCOS-II需要使用
* 形    参: 无
* 返 回 值: 系统时钟
*********************************************************************************************************
*/

uint32_t  BSP_CPU_ClkFreq (void)
{
    RCC_ClocksTypeDef  rcc_clocks;
    RCC_GetClocksFreq(&rcc_clocks);
    return ((uint32_t)rcc_clocks.HCLK_Frequency);
}

/*
*********************************************************************************************************
* 函 数 名: bsp_Init
* 功能说明: 初始化所有的硬件设备。该函数配置CPU寄存器和外设的寄存器并初始化一些全局变量。只需要调用一次
* 形    参:无
* 返 回 值: 无
*********************************************************************************************************
*/
void bsp_Init(void)
{
    /*
     由于ST固件库的启动文件已经执行了CPU系统时钟的初始化,所以不必再次重复配置系统时钟。
     启动文件配置了CPU主时钟频率、内部Flash访问速度和可选的外部SRAM FSMC初始化。

     系统时钟缺省配置为72MHz,如果需要更改,可以修改 system_stm32f4xx.c 文件
    */
    Clock = BSP_CPU_ClkFreq();/* 获取当前时钟参数 */

    bsp_Init_GPIO(); /* 初始 IO 端口 */
    bsp_InitUart(); /* 初始化串口 */
    bsp_InitSysTick(); /* 初始化系统滴答定时器 和延时函数 */
    bsp_time(); /* 初始化定时器 */
    bsp_InitKey(); /* 初始化按键变量 */



}


/***************************** (END OF FILE) *********************************/

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-12-30 14:02  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\
     目录           0  2019-12-30 14:02  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Core-BSP\
     目录           0  2019-12-30 14:02  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Core-BSP\Inc\
     文件         203  2019-11-07 13:29  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Core-BSP\Inc\MYtask.h
     文件         298  2019-11-07 13:28  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Core-BSP\Inc\bsp_SysTick.h
     文件         250  2019-11-07 13:18  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Core-BSP\Inc\bsp_function.h
     文件         705  2019-12-26 09:14  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Core-BSP\Inc\bsp_gpio.h
     文件         648  2019-11-07 13:29  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Core-BSP\Inc\bsp_iwdg.h
     文件        2914  2019-12-30 13:42  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Core-BSP\Inc\bsp_key.h
     文件        2496  2019-11-07 13:29  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Core-BSP\Inc\bsp_sys.h
     文件         194  2019-11-18 14:29  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Core-BSP\Inc\bsp_timer.h
     文件        1223  2019-11-07 13:22  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Core-BSP\Inc\bsp_uart.h
     目录           0  2019-12-30 14:02  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Core-BSP\Src\
     文件        5144  2019-12-30 11:24  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Core-BSP\Src\MYtask.c
     文件        4153  2019-03-19 14:52  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Core-BSP\Src\bsp_SysTick.c
     文件        3367  2019-11-07 13:19  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Core-BSP\Src\bsp_function.c
     文件        6091  2019-12-26 10:20  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Core-BSP\Src\bsp_gpio.c
     文件        1453  2019-04-08 09:52  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Core-BSP\Src\bsp_iwdg.c
     文件        9697  2019-12-30 13:43  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Core-BSP\Src\bsp_key.c
     文件         465  2019-03-18 21:10  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Core-BSP\Src\bsp_sys.c
     文件       11982  2019-12-30 14:01  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Core-BSP\Src\bsp_timer.c
     文件        8801  2019-12-24 13:14  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Core-BSP\Src\bsp_uart.c
     文件        2067  2019-12-26 11:29  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Core-BSP\bsp.c
     文件        1978  2019-12-26 13:08  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Core-BSP\bsp.h
     文件        3259  2011-04-04 19:03  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Core-BSP\stm32f10x_conf.h
     文件        4940  2019-03-17 19:05  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Core-BSP\stm32f10x_it.c
     文件        2086  2011-04-04 19:03  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Core-BSP\stm32f10x_it.h
     目录           0  2019-12-30 14:03  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Doc\
     目录           0  2019-12-30 14:02  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Drivers\
     目录           0  2019-12-30 14:02  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Drivers\CMSIS\
     目录           0  2019-12-30 14:02  状态机按键 多个独立按键识别 单击 双击 长按 2019.12.30\Drivers\CMSIS\CM3\
............此处省略633个文件信息

评论

共有 条评论