📄 edit1.c.bak
字号:
}
break;
case 3:
gs.qy = 6;
gs.maxNum = 2;
gs.minNum = 1;
gs.minValue = 0;
gs.maxValue = 59;
gs.pPrompt = "";
gs.retNum = 0;
switch(GetStr_E(&gs))
{
case 0:
settRec.fields.second = gs.retValue;
sprintf(dBuf,"秒:%02d ",settRec.fields.second);
DispStr_CE(0,6,dBuf,DISP_POSITION);
which_in = 4;
break;
case 1:
settRec.fields.second = gettRec.fields.second;
sprintf(dBuf,"秒:%02d ",settRec.fields.second);
DispStr_CE(0,6,dBuf,DISP_POSITION);
which_in = 4;
break;
case -1:
DispStr_CE(0,4,"分: ",DISP_POSITION);
DispStr_CE(0,6,"秒: ",DISP_POSITION);
which_in = 2;
}
}
if (which_in<1) return -1;
if (which_in>3)
{
RTC_set_time(settRec.l_word);
gettRec.l_word = RTC_read_time();
sprintf(dBuf,"%02d时%02d分%02d秒",gettRec.fields.hour,gettRec.fields.minute,gettRec.fields.second);
DispStr_CE(0,0,dBuf,DISP_CENTER|DISP_CLRSCR);
delay_ms(1000);
return 0;
}
}
}
void disp_data_in_binary(unsigned char *buf,unsigned char *disp_b_buf)
{
typ_msg_word msg;
int i,j=0,k;
char buffer[10];
memset(buffer,0,10);
while(*buf){
for(i=0;i<8;i++){
if((*buf>>(7-i))&0x1)
disp_b_buf[j++]='1';
else
disp_b_buf[j++]='0';
}
buf++;
}
i=0;
j=strlen(disp_b_buf)/8;
for(k=0;k<4;k++)
{
memcpy(buffer,disp_b_buf+i*8+2*k*8,8);
DispStr_E(0,4+k,buffer,DISP_POSITION|DISP_5x7);
memcpy(buffer,disp_b_buf+i*8+(2*k+1)*8,8);
DispStr_E(56,4+k,buffer,DISP_POSITION|DISP_5x7);
}
while(1)
{
msg.s_word = sys_msg(SM_GOTO_SLEEP);
if (msg.bits.key_available)
{
switch(KEY_read())
{
case KEY_UP:
if(i>0)
i-=4;
for(k=0;k<4;k++)
{
memcpy(buffer,disp_b_buf+i*8+2*k*8,8);
DispStr_E(0,4+k,buffer,DISP_POSITION|DISP_5x7);
memcpy(buffer,disp_b_buf+i*8+(2*k+1)*8,8);
DispStr_E(56,4+k,buffer,DISP_POSITION|DISP_5x7);
}
break;
case KEY_DOWN:
if(i<j-1)
i+=4;
for(k=0;k<4;k++)
{
memcpy(buffer,disp_b_buf+i*8+2*k*8,8);
DispStr_E(0,4+k,buffer,DISP_POSITION|DISP_5x7);
memcpy(buffer,disp_b_buf+i*8+(2*k+1)*8,8);
DispStr_E(56,4+k,buffer,DISP_POSITION|DISP_5x7);
}
break;
case KEY_COMM:
case KEY_POWER:
return;
}
}
}
}
int rw_tagit(char rw_flag)
{
short l_wStatus,RecLength;
Tag_Info TagInfo;
long tcnt;
unsigned char card_read_ok,cntr,RecData[64],buff[16],disp_b_buf[64*8];
UART_init(UART_232_ON | UART_ON | UART_8_DATA_BITS | UART_BAUD_115200);
UART_fcntl(UART_fcntl(UART_F_INQ) | UART_F_NO_CTS);
delay_ms(100);
if(ISO15693_VCD_On() != MI_OK) {
ISO15693_VCD_Off();
return -1;
}
if(rw_flag)
DispStr_CE(0,0,"请写卡... 6",DISP_POSITION|DISP_CLRSCR);
else
DispStr_CE(0,0,"请读卡... 6",DISP_POSITION|DISP_CLRSCR);
Disp_set_font_attribute(DISP_FONT_TYPE_7x9);
SPT_set(64);
for(card_read_ok = 0, cntr = 6; cntr && !card_read_ok;)
{
if (!SPT_read())
{
goto_xy(80,0);
sprintf(buff,"%d",cntr-1);
Disp_write_char(buff[0]);
SPT_set(64);
cntr --;
}
l_wStatus=ISO15693_FindOneCard(0x26, 0x00, &TagInfo);
if (l_wStatus == MI_OK)
{
if(rw_flag==0){
for(tcnt=0;tcnt<12;tcnt++){
l_wStatus=ISO15693_ReadBlock(0x22, TagInfo.UID, tcnt, 1, &RecLength, RecData+tcnt*4);
if(l_wStatus!=MI_OK)
break;
}
if(l_wStatus==MI_OK){
card_read_ok=1;
DispStr_CE(0,2,RecData,DISP_POSITION);
get_any_key();
}
}
else{
for(tcnt=0;tcnt<12;tcnt++){
l_wStatus=ISO15693_WriteBlock(0x62, TagInfo.UID, tcnt, 1, 4, chip+tcnt*4);
if(l_wStatus!=MI_OK)
break;
}
if(l_wStatus==MI_OK)
card_read_ok=1;
}
}
}
ISO15693_VCD_Off();
return l_wStatus;
}
int write_tagit(void)
{
struct GETSTR_PARAM gs;
unsigned char input[6],dBuf[16];
clr_scr();
goto_xy(0,0);
DispStr_CE(0,0,"请输入:",DISP_POSITION);
gs.qx = 0;
gs.sFont = 0;
gs.alpha = 1;
gs.pPrompt = "";
gs.nullEnable = 1;
gs.csChar = '_';
gs.pwChar = 0;
gs.spChar = 0;
gs.pStr = chip;
gs.qy = 2;
gs.maxNum = 20;
gs.minNum = 0;
gs.minValue = 0;
gs.maxValue = -1;
gs.flimited = 0;//小数点后位数限定
gs.pPrompt = "";
gs.retNum = 0;
switch(GetStr_E(&gs))
{
case 0:
rw_tagit(1);
return 0;
case 1:
case -1:
return -1;
}
}
void disp_menu (char *qBuf,int count,int current)
{
int q,x;
for (q=0;q<4;q++)
{
if (q<count)
{
if (q==current)
x = DISP_POSITION|DISP_REVERSE;
else
x = DISP_POSITION;
qBuf[q*16+15]=0;
DispStr_CE(0,q*2,qBuf+q*16,x);
}
else
ClearLine(q*2,DISP_7x9);
}
}
void tagit_menu_process (void)
{
typ_msg_word msg;
int curPtr,linePtr,mint,halt=0;
const char mmenu[5*16]="1.读TAGIT标签 2.写TAGIT标签 ";
curPtr = linePtr = 0;
mint = 2;
disp_menu((char *)mmenu,mint,0);
while(1)
{
msg.s_word = sys_msg(SM_GOTO_SLEEP);
if (msg.bits.key_available)
{
switch(KEY_read())
{
case KEY_UP:
case 20:
case KEY_2:
if (curPtr>0)
curPtr--;
else
if (linePtr>0)
linePtr--;
disp_menu((char *)(mmenu+linePtr*16),mint-linePtr,curPtr);
break;
case KEY_DOWN:
case 21:
case KEY_8:
if (linePtr<mint-1)
{
if (curPtr>1)
linePtr++;
else
if (linePtr+curPtr>=mint-1) linePtr++;
}
if (curPtr<2)
curPtr = ((mint-linePtr-1)>2)||(curPtr<(mint-linePtr-1)) ? curPtr+1 : mint-linePtr-1;
else
curPtr = (mint-linePtr-1)>2 ? 2 : mint-linePtr-1;
disp_menu((char *)(mmenu+linePtr*16),mint-linePtr,curPtr);
break;
case KEY_POWER:
case KEY_COMM:
return;
case KEY_F1:
sys_menu_process();
disp_menu((char *)(mmenu+linePtr*16),mint-linePtr,curPtr);
break;
case KEY_ENTER:
switch(linePtr+curPtr)
{
case 0:
rw_tagit(0);
clr_scr();
break;
case 1:
write_tagit();
break;
}
disp_menu((char *)(mmenu+linePtr*16),mint-linePtr,curPtr);
}
}
}
}
void sys_menu_process (void)
{
typ_msg_word msg;
int curPtr,linePtr,mint,halt=0;
const char mmenu[5*16]="1.按键音.背光 2.液晶对比度 3.手动设置时间 ";
curPtr = linePtr = 0;
mint = 3;
disp_menu((char *)mmenu,mint,0);
while(1)
{
msg.s_word = sys_msg(SM_GOTO_SLEEP);
if (msg.bits.key_available)
{
switch(KEY_read())
{
case KEY_UP:
case 20:
case KEY_2:
if (curPtr>0)
curPtr--;
else
if (linePtr>0)
linePtr--;
disp_menu((char *)(mmenu+linePtr*16),mint-linePtr,curPtr);
break;
case KEY_DOWN:
case 21:
case KEY_8:
if (linePtr<mint-1)
{
if (curPtr>1)
linePtr++;
else
if (linePtr+curPtr>=mint-1) linePtr++;
}
if (curPtr<2)
curPtr = ((mint-linePtr-1)>2)||(curPtr<(mint-linePtr-1)) ? curPtr+1 : mint-linePtr-1;
else
curPtr = (mint-linePtr-1)>2 ? 2 : mint-linePtr-1;
disp_menu((char *)(mmenu+linePtr*16),mint-linePtr,curPtr);
break;
case KEY_POWER:
case KEY_COMM:
return;
case KEY_ENTER:
switch(linePtr+curPtr)
{
case 0:
beep_backlight();
break;
case 1:
LCD_Regulate();
break;
case 2:
modi_date();
modi_time();
break;
}
disp_menu((char *)(mmenu+linePtr*16),mint-linePtr,curPtr);
}
}
}
}
void topmenu (void)
{
char dispBuf[20];
typ_RTC_date_rec dRec;
dRec.l_word = RTC_read_date();
DispStr_CE(0,1,"-TI标签演示程序-",DISP_CENTER|DISP_CLRSCR);
sprintf(dispBuf,"%04d年%02d月%02d日",dRec.fields.year,dRec.fields.month,dRec.fields.day);
DispStr_CE(0,6,dispBuf,DISP_CENTER);
}
int main(void) {
typ_msg_word msg;
KEY_init(KEY_BEEP_KEY|KEY_AUTO_EL_ON);
REBOOT: Halt_6305=0;
sm_setting(MSK_KEY_UP|MSK_KEY_DOWN);
Disp_init(DISP_INIT_ON);
if(key_beep)
KEY_beep_mask_set(0xffff7fff);
if(light)
{
KEY_EL_mask_set(0xffff7fff);
EL_set_time_out(30);
}
topmenu();
while(1)
{
msg.s_word = sys_msg(SM_GOTO_SLEEP);
if (msg.bits.key_available)
{
switch(KEY_read())
{
case KEY_ENTER:
clr_scr();
tagit_menu_process();
break;
case KEY_F1:
clr_scr();
sys_menu_process();
break;
case KEY_POWER:
if(Halt_6305)
goto REBOOT;
else
Halt_HD6305();
break;
}
topmenu();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -