extern uint8_t waitingF,waiting1sCnt;
uint8_t _0to7Random;//异或模板号,0-7随机数
void ui_waiting(void)
{
char str[12]; //显示用
_0to7Random=rtc_get_time()%8;//产生异或模板号
generate_security_code(_0to7Random);//根据模板号选定一组异或模板(密钥)
//显示固定不变的信息
snprintf(str,sizeof(str),"%d%d%d%d%d%d%d%d%d%d%d",id[0],id[1],id[2],id[3],id[4],id[5],id[6],id[7],id[8],id[9],_0to7Random);
disp_str_12x12("TIME PASSED",0,50,&biFont12x12);
disp_str_12x12("ID:",0,103,&biFont12x12);
disp_str_12x12(str,18,103,&biFont12x12);
disp_str_12x12("Name:Rose White",0,115,&biFont12x12);
ui_disp_waiting_recording(26,25,0);
ui_disp_colon(46,60);
ui_disp_colon(70,60);
disp_bluetooth_icon(99,0);
disp_date_time_sub(); //第一行动态显示日期、时间
disp_bat_icons(cal_bat_val(get_bat_volt_ad())); //动态显示电池剩余量
disp_str_16x32("00",30,60,&biFont16x32);
disp_str_16x32("00",54,60,&biFont16x32);
disp_str_16x32("00",78,60,&biFont16x32);
waitingF=1;
tcIntFlag=0;
timer_start_1div2_s();
fat_creat_files();
//Method 1、
while(waiting1sCnt<30)delay_us(1);//此处的delay_us(1)用来解决GCC与标准C兼容性导致的逻辑不同问题!
cpu_irq_disable();
disp_clr(26,25,80,20);
waitingF=0;
waiting1sCnt=0;//进入recording前清零,以便下次记录前同样等待30s
return;
//Method 2、
//while(1)//while与if嵌套使用时,与标准C不兼容
//{
//delay_us(1);//解决GCC与标准C兼容性导致的逻辑不同问题!
//
//if(waiting1sCnt>=30)
//{
//disp_clr(26,25,80,20);
//waitingF=0;
//return;
//}
//}
//------------------------------mcu/嵌入式交流群【84227449】,加群验证码【mcu】---------------------------------
|