📄 phonebook.h
字号:
#ifndef __PHONEBOOK_h__
#define __PHONEBOOK_h__
// write your header here
#define PB_MAX_ITEM 50 // 最大通讯录条目数
#define PB_MAX_VOICE 5 // 最大语音识别条目数
#define PB_IDX_SA 0xE000 // 通讯录索引的起始地址
#define PB_ITEM_SA 0xE080 // 通讯录条目的起始地址
#define PB_VMODEL_SA 0xFA00 // 语音识别模型起始地址
#define PB_VMODEL_SIZE 100 // 每个语音识别模型的大小
#define NULL (void *)0
typedef struct STR_PB{ // 通讯录条目数据结构
unsigned int Flag_Del; // 标注该条目是否已被删除
unsigned char Name[16]; // 姓名
unsigned char Tel_1[16]; // 电话号码1
unsigned char Tel_2[16]; // 电话号码2
unsigned char Email[25]; // Email
unsigned char Other[20]; // 其他信息
unsigned int Group; // 分组(保留功能)
unsigned int VoiceIdx; // 语音拨号项目序号(0~4,若未设置成语音拨号则该项为0xffff)
struct STR_PB *PreItem; // 前一条目的地址(若不存在则指向第一个空地址)
struct STR_PB *NextItem; // 后一条目的地址(若不存在则指向第一个空地址)
}PHONEBOOK;
typedef struct STR_PBIDX{ // 通讯录索引结构
unsigned int ItemNum; // 已有条目数量
PHONEBOOK *FirstItem; // 首条目地址
PHONEBOOK *LastItem; // 末条目地址
unsigned int Voice_Num; // 已有语音拨号条目数量
PHONEBOOK *Voice_PBAddr[PB_MAX_VOICE]; // 各语音拨号条目地址
}PHONEBOOK_IDX;
extern PHONEBOOK_IDX *p_PB_Idx;
PHONEBOOK *PB_GetEmptyPos(unsigned int Pos);
PHONEBOOK *PB_Item_Insert(PHONEBOOK *p_PB_Item);
PHONEBOOK *PB_Item_Del(PHONEBOOK *p_PB_Item);
PHONEBOOK *PB_Item_Search(unsigned char *KeyWord, PHONEBOOK *p_PB_Start, unsigned int Direction);
void PB_Add(void);
void PB_Del(PHONEBOOK *p_PB_Item);
void PB_Detail(PHONEBOOK *p_PB_Item);
void PB_ItemMenu(PHONEBOOK *p_PB_Item);
void PB_List(void);
void PB_Search(void);
unsigned int PB_SwitchVoice(PHONEBOOK *p_PB_Item);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -