对以下功能代码注释,头文件#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 16:03:00 浏览: 171
头文件 FSR.h:
```
#ifndef __FSR_H
#define __FSR_H
#include "sys.h" // 引入系统头文件
typedef unsigned short u8; // 定义 unsigned short 类型的别名 u8
#define FSR_GPIO GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_15) // 定义宏 FSR_GPIO,读取 GPIOC 的第 15 个引脚的输入状态
#define KEY_PRESS 1 // 定义宏 KEY_PRESS,值为 1
void FSR_IO_Init(void); // 声明函数 FSR_IO_Init,无返回值,无参数
u8 FSR_Scan(u8); // 声明函数 FSR_Scan,返回值为 u8 类型,参数为 u8 类型
#endif
```
c 文件 FSR.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;
}
```
阅读全文