xtp_base.h
#ifndef XTP_BASE_H
#define XTP_BASE_H
typedef unsigned char u8;
typedef unsigned short u16;
typedef unsigned int u32;
typedef unsigned long u64;
#endif /* XTP_BASE_H */
xtp_btn.h
#ifndef XTP_BTN_H
#define XTP_BTN_H
#include "xtp_base.h"
#define BTN_NAME_LENGTH 12
/* 按键结构体定义 */
typedef struct
{
char btn_name[BTN_NAME_LENGTH];
u32 port;
u32 num;
} xtp_btn_t;
void print_btns(xtp_btn_t *btn);
xtp_btn_t create_btn(char *btn_name, u32 port, u32 num);
#endif
xtp_btn.c
#include <stdio.h>
#include <string.h>
#include "xtp_btn.h"
/* 创建一个按键结构体 */
xtp_btn_t create_btn(char *btn_name, u32 port, u32 num)
{
xtp_btn_t btn;
strcpy(btn.btn_name, btn_name);
btn.port = port;
btn.num = num;
return btn;
}
/* 打印按钮结构体 */
void print_btns(xtp_btn_t *btn)
{
printf("btn_name: %s\n", btn->btn_name);
printf("btn port: %d\n", btn->port);
printf("btn num: %d\n", btn->num);
}