📄 main.c
字号:
int object, level;
char str[100] = "1234";
if (index < 0 || index >= sizeof(iconMenuItems) / sizeof(char *)) return;
clrscr();
DisplayMidLine(1, "演示液晶图标", ALIGN_CENTER, NO_REVERSE_STYLE);
icon_clr();
switch (index) {
case 0:
for (object = LCD_ICON_SIGNAL; object < LCD_ICON_PRINTER; object++) {
for (level = 1; level <= 5; level++) {
LcdSetIcon(object, level);
delay(200);
}
}
// time
level = (int)str;
LcdSetIcon(LCD_ICON_TIME, level);
delay(200);
for (level = 1; level <= 5; level++) {
LcdSetIcon(LCD_ICON_BATTERY, level);
delay(200);
}
break;
case 1:
for (object = LCD_ICON_CARD; object <= LCD_ICON_BATTERY; object++) {
if (object == LCD_ICON_TIME) {
level = (int)str;
LcdSetIcon(object, level);
delay(200);
continue;
}
for (level = 1; level <= 5; level++) {
LcdSetIcon(object, level);
delay(200);
}
}
break;
case 2:
for (object = LCD_ICON_SIGNAL; object <= LCD_ICON_BATTERY; object++) {
if (object == LCD_ICON_PRINTER)
continue;
if (object == LCD_ICON_TIME) {
level = (int)str;
LcdSetIcon(object, level);
delay(200);
continue;
}
for (level = 1; level <= 5; level++) {
LcdSetIcon(object, level);
delay(200);
}
}
break;
}
DisplayMidLine(1, "演示完成", ALIGN_CENTER, NO_REVERSE_STYLE);
get_key();
}
// Icon menu OK handler
UINT onIconMenu_Ok(void * arg)
{
Menu * pMenu = (Menu *)arg;
if (pMenu) onSelectIconMenu(pMenu->Current);
return 0;
}
UINT onIconMenu_Cancel(void *arg)
{
Menu * pMenu = (Menu *)arg;
if (pMenu) {
CloseMenu(pMenu);
}
return 0;
}
UINT onIconMenu_OtherKey(void * arg)
{
Menu * pMenu = (Menu *)arg;
char key;
if (pMenu) {
key = pMenu->EventArg;
onSelectSysMenu(key - '1');
DrawMenu(pMenu);
}
return 0;
}
// --------------------------------------------------------------------------
void onSelectMainMenu(int index)
{
char buffer[100], ch;
int len;
int i;
if (index < 0 || index >= sizeof(ImageList) / sizeof(GraphicsMenuItem)) return;
clrscr();
switch (index) {
case 0: // 屏幕测试
testGraphics();
// read_Rfid();
break;
case 1: // 键盘测试
ShowMenu(&input_menu);
// write_Rfid();
break;
case 2: // 串口测试
testRs232();
// express_Rfid();
break;
case 3: // 射频卡测试
ShowMenu(&mifare_menu);
break;
case 4: // IC卡测试
ShowMenu(&card_menu);
break;
case 5: // 文件系统测试
ShowMenu(&fs_menu);
break;
case 6: // 机器设置
ShowMenu(&sys_menu);
break;
case 7: // 关于
DisplayLine(0, "关于", ALIGN_CENTER, false);
ShowMemo(AboutThisProgram, sizeof(AboutThisProgram) / sizeof(char *), ALIGN_CENTER);
break;
}
}
// Main menu OK handler
UINT onMainMenu_Ok(void * arg)
{
GraphicsMenu * pMenu = (Menu *)arg;
if (pMenu) onSelectMainMenu(pMenu->Current);
return 0;
}
UINT onMainMenu_Cancel(void *arg)
{
GraphicsMenu * pMenu = (GraphicsMenu *)arg;
ShowComsysLogo("天石科技");
DrawGraphicsMenu(pMenu);
}
UINT onMainMenu_OtherKey(void * arg)
{
GraphicsMenu * pMenu = (Menu *)arg;
char key;
if (pMenu) {
key = pMenu->EventArg;
onSelectMainMenu(key - '1');
DrawGraphicsMenu(pMenu);
}
return 0;
}
void onSelectSysMenu(int index)
{
int len;
if (index < 0 || index >= sizeof(sysMenuItems) / sizeof(char *)) return;
clrscr();
switch (index) {
case 0:
SetCurrentDate();
break;
case 1:
SetCurrentTime();
break;
case 2:
systemConfig(0);
break;
case 3:
systemConfig(1);
break;
case 4:
adjustLcd();
break;
}
clrscr();
}
UINT onSysMenu_Ok(void * arg)
{
Menu * pMenu = (Menu *)arg;
if (pMenu) onSelectSysMenu(pMenu->Current);
return 0;
}
UINT onSysMenu_Cancel(void * arg)
{
Menu * pMenu = (Menu *)arg;
if (pMenu) {
CloseMenu(pMenu);
}
return 0;
}
UINT onSysMenu_OtherKey(void * arg)
{
Menu * pMenu = (Menu *)arg;
char key;
if (pMenu) {
key = pMenu->EventArg;
onSelectSysMenu(key - '1');
DrawMenu(pMenu);
}
return 0;
}
// Input Menu
void onSelectInputMenu(int index)
{
char str[100];
int len;
if (index < 0 || index >= sizeof(inputMenuItems) / sizeof(char *)) return;
clrscr();
switch (index) {
case 0:
testKeyboard();
break;
case 1:
testChinese();
break;
case 2:
testInput();
break;
case 3:
testInput2();
break;
}
clrscr();
}
UINT onInputMenu_Ok(void * arg)
{
Menu * pMenu = (Menu *)arg;
if (pMenu) onSelectInputMenu(pMenu->Current);
return 0;
}
UINT onInputMenu_Cancel(void * arg)
{
Menu * pMenu = (Menu *)arg;
if (pMenu) {
CloseMenu(pMenu);
}
return 0;
}
UINT onInputMenu_OtherKey(void * arg)
{
Menu * pMenu = (Menu *)arg;
char key;
if (pMenu) {
key = pMenu->EventArg;
onSelectInputMenu(key - '1');
DrawMenu(pMenu);
}
return 0;
}
// ------------------------------------------------------------------
void onSelectFsMenu(int index)
{
if (index < 0 || index >= sizeof(fsMenuItems) / sizeof(char *)) return;
clrscr();
switch (index) {
case 0:
testCreateFile();
break;
case 1:
testWriteFile();
break;
case 2:
testReadFile();
break;
case 3:
testDeleteFile();
break;
case 4:
testFormatFlash();
break;
}
clrscr();
}
UINT onFsMenu_Ok(void * arg)
{
Menu * pMenu = (Menu *)arg;
if (pMenu) onSelectFsMenu(pMenu->Current);
return 0;
}
UINT onFsMenu_Cancel(void * arg)
{
Menu * pMenu = (Menu *)arg;
if (pMenu) {
CloseMenu(pMenu);
}
return 0;
}
UINT onFsMenu_OtherKey(void * arg)
{
Menu * pMenu = (Menu *)arg;
char key;
if (pMenu) {
key = pMenu->EventArg;
onSelectFsMenu(key - '1');
DrawMenu(pMenu);
}
return 0;
}
// ------------------------------------------------------------------
void onSelectCardMenu(int index)
{
if (index < 0 || index >= sizeof(cardMenuItems) / sizeof(char *)) return;
clrscr();
switch (index) {
case 0:
testAt24c64();
break;
case 1:
testAt45d();
break;
case 2:
testSle4428();
break;
case 3:
testSle4442();
break;
case 4:
testAt1604();
break;
case 5:
testAt1608();
break;
case 6:
testCpuSamCard(CPU1);
break;
case 7:
testCpuSamCard(CPU1_38400);
break;
case 8:
testCpuSamCard(SAM1);
break;
case 9:
testCpuSamCard(SAM1_38400);
break;
case 10:
testAt24c16();
break;
}
clrscr();
}
UINT onCardMenu_Ok(void * arg)
{
Menu * pMenu = (Menu *)arg;
if (pMenu) onSelectCardMenu(pMenu->Current);
return 0;
}
UINT onCardMenu_Cancel(void * arg)
{
Menu * pMenu = (Menu *)arg;
if (pMenu) {
CloseMenu(pMenu);
}
return 0;
}
UINT onCardMenu_OtherKey(void * arg)
{
Menu * pMenu = (Menu *)arg;
char key;
if (pMenu) {
key = pMenu->EventArg;
onSelectCardMenu(key - '1');
DrawMenu(pMenu);
}
return 0;
}
typedef struct {
BYTE snr[8];
long tick_count;
}match_struct;
match_struct snr_array[60];
int snr_array_ptr;
void onSelectMifareMenu(int index)
{
int i;
if (index < 0 || index >= sizeof(mifareMenuItems) / sizeof(char *)) return;
clrscr();
for (i=0;i<60;i++) memset(snr_array[i].snr,0,8);
snr_array_ptr=0;
switch (index) {
case 0:
ShowMenu(&mifare_menu_1);
break;
case 1:
ShowMenu(&mifare_menu_2);
break;
}
clrscr();
}
UINT onMifareMenu_Ok(void * arg)
{
Menu * pMenu = (Menu *)arg;
if (pMenu) onSelectMifareMenu(pMenu->Current);
return 0;
}
UINT onMifareMenu_Cancel(void * arg)
{
Menu * pMenu = (Menu *)arg;
if (pMenu) {
CloseMenu(pMenu);
}
return 0;
}
UINT onMifareMenu_OtherKey(void * arg)
{
Menu * pMenu = (Menu *)arg;
char key;
if (pMenu) {
key = pMenu->EventArg;
onSelectMifareMenu(key - '1');
DrawMenu(pMenu);
}
return 0;
}
void onSelectMifareMenu_1(int index)
{
int i;
if (index < 0 || index >= sizeof(mifareMenuItems_1) / sizeof(char *)) return;
clrscr();
for (i=0;i<60;i++) memset(snr_array[i].snr,0,8);
snr_array_ptr=0;
switch (index) {
case 0:
testMifareOne();
break;
case 1:
testMifarePro();
break;
case 2:
testRfid_operate();
break;
}
clrscr();
}
UINT onMifareMenu_Ok_1(void * arg)
{
Menu * pMenu = (Menu *)arg;
if (pMenu) onSelectMifareMenu_1(pMenu->Current);
return 0;
}
UINT onMifareMenu_Cancel_1(void * arg)
{
Menu * pMenu = (Menu *)arg;
if (pMenu) {
CloseMenu(pMenu);
}
return 0;
}
UINT onMifareMenu_OtherKey_1(void * arg)
{
Menu * pMenu = (Menu *)arg;
char key;
if (pMenu) {
key = pMenu->EventArg;
onSelectMifareMenu_1(key - '1');
DrawMenu(pMenu);
}
return 0;
}
void onSelectMifareMenu_2(int index)
{
int i;
if (index < 0 || index >= sizeof(mifareMenuItems_2) / sizeof(char *)) return;
clrscr();
for (i=0;i<60;i++) memset(snr_array[i].snr,0,8);
snr_array_ptr=0;
switch (index) {
case 0:
testMifareOne_2();
break;
case 1:
testMifarePro_2();
break;
case 2:
testRfid_2();
break;
// case 3:
// ReadMifareOne_B();
// break;
// case 4:
// WriteMifareOne_B();
// break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -