void task3(void) { OS_ERR err; BoardGPIOConfig();//IO口 UsartConfig();//串口设置配置 Nvic_Config(); SW_12V(1);//电源 SW_5V(1);//正负电源,用于检测回波Z FreqModuleInit();//测频率模块初始化 GetFreq(1); while(1) { // OSTimeDlyHMSM(0,0,500,0,OS_OPT_TIME_DLY,&err); // printf("SCT200T15002-Channel: 1 FREQUENCY:%f\r\n",GetFreq(1)); // printf("SCT200T15002-Channel: 2 FREQUENCY:%f\r\n",GetFreq(2)); // printf("SCT200T15002-Channel: 3 FREQUENCY:%f\r\n",GetFreq(3)); // printf("SCT200T15002-Channel: 4 FREQUENCY:%f\r\n",GetFreq(4)); OSTimeDlyHMSM(0,0,0,10,OS_OPT_TIME_DLY,&err); if(UploadFlag == 1)//确认需要上传数据了 { FreqModuleInit();//测频率模块初始化 GetFreq(1); printf("%s",aaa); printf("SCT200T15003-2015/7/8/Wednesday-15-36-9\r\n"); printf("SCT200T15003-ID=0x87031923 53578748 66eff48\r\n"); printf("SCT200T15003-Mode = 10 minutes Internal\r\n"); printf("SCT200T15003-Current voltage = 10.90V\r\n"); printf("SCT200T15003-Channel: 1 Temperature :34.47\r\n"); printf("SCT200T15003-Channel: 2 Temperature :34.43\r\n"); printf("SCT200T15003-Channel: 3 Temperature :30.40\r\n"); printf("SCT200T15003-Channel: 4 Temperature :25.90\r\n"); printf("SCT200T15003-Channel: 1 FREQUENCY:%f\r\n",GetFreq(1)); printf("SCT200T15003-Channel: 2 FREQUENCY:%f\r\n",GetFreq(2)); printf("SCT200T15003-Channel: 3 FREQUENCY:%f\r\n",GetFreq(3)); printf("SCT200T15003-Channel: 4 FREQUENCY:%f\r\n",GetFreq(4)); printf("%s",bbb); UploadFlag = 0; SW_12V(0);//电源 SW_5V(0);//正负电源,用于检测回波 OSTimeDlyHMSM(0,0,0,500,OS_OPT_TIME_DLY,&err); ConfigPINToListen(); PWR_EnterSTOPMode(PWR_Regulator_ON,PWR_STOPEntry_WFI); SetClock();//配置各级CPU时钟 BoardGPIOConfig();//IO口 SW_12V(1);//电源 SW_5V(1);//正负电源,用于检测回波 OSTimeDlyHMSM(0,0,0,500,OS_OPT_TIME_DLY,&err); UsartConfig();//串口设置配置 Nvic_Config(); } } }
/////////////////////////////////////////////////////////////////////////////////////////////////////////// //用户任务1 void task1(void) { OS_ERR err; while(1) { OSTimeDlyHMSM(0,0,5,0,OS_OPT_TIME_DLY,&err); if(UploadFlag == 0) { SW_12V(0);//电源 SW_5V(0);//正负电源,用于检测回波 OSTimeDlyHMSM(0,0,0,200,OS_OPT_TIME_DLY,&err); ConfigPINToListen(); PWR_EnterSTOPMode(PWR_Regulator_ON,PWR_STOPEntry_WFI); SetClock();//配置各级CPU时钟 BoardGPIOConfig();//IO口 SW_12V(1);//电源 SW_5V(1);//正负电源,用于检测回波 OSTimeDlyHMSM(0,0,0,200,OS_OPT_TIME_DLY,&err); UsartConfig();//串口设置配置 Nvic_Config(); } } }
void OsUsartInit(void) { UsartTaskInit(); Usart_NVIC_Configuration();/* 配置串口中断向量表 */ UsartConfig(); }