对以下功能代码注释,头文件#ifndef __FSR_H #define __FSR_H #include "sys.h" typedef unsigned short u8; #define FSR_GPIO GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_15) #define KEY_PRESS 1 void FSR_IO_Init(void); u8 FSR_Scan(u8); #endif,c文件#include "bflb_mtimer.h" #include "board.h" #include "FSR.h" #include "sys.h" #include "delay.h" void FSR_IO_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOC, &GPIO_InitStructure); GPIO_SetBits(GPIOC,GPIO_Pin_15); } u8 FSR_Scan(u8 mode) { static u8 key_up=1; if(mode)key_up=1; if(key_up&&FSR_GPIO==0) { delay_ms(10); key_up=0; if(FSR_GPIO==0)return KEY_PRESS; }else if(FSR_GPIO==1)key_up=1; return 0; }
时间: 2023-06-25 17:03:11 浏览: 85
C++ 中pragma once 与 #ifndef _XXX_H_ #define _XXX_H_的区别
5星 · 资源好评率100%
这段代码是一个用于读取压力传感器(FSR)的驱动程序。头文件定义了一些常量和函数原型,c文件实现了这些函数。
其中,FSR_IO_Init函数用于初始化IO口,设置PC15为输入模式,上拉电阻。FSR_Scan函数用于检测FSR是否被按下,如果被按下返回1,否则返回0。在检测过程中,如果检测到按下,则会延时10ms,防止抖动。如果没有按下,则将key_up置为1,等待下一次检测。
注释中提到了一些常量:
- FSR_GPIO:读取PC15口的状态,如果为0表示FSR被按下,否则为1。
- KEY_PRESS:表示FSR被按下的状态。
头文件中还定义了一个u8类型,表示无符号8位整数。
阅读全文