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(); } } }
/////////////////////////////////////////////////////////////////////////////////////////////////////////// //用户任务2 void task2(void) { OS_ERR err; unsigned int add=0; Time1_Config();//定时器1输出测试频率 Time2_Config();//计时单元,用于测量频率 Time3_Config(); //用于激发振弦 Time4_Config();//tim4 外部引脚做为外部时钟出发计数 Nvic_Config();//优先级 while(1) { // //TranPulse(15000,3);//发射10个500hz的脉冲 // if(IsPulseOn() == 1)//传感器是否起振 // {TranPulse(Measure(),7);}//测量频率,并且输出到pwm // TranPulse(8000+add,10); // OSTimeDlyHMSM(0,0,0,10,OS_OPT_TIME_DLY,&err); // TranPulse(6000+add,10); // OSTimeDlyHMSM(0,0,0,10,OS_OPT_TIME_DLY,&err); // TranPulse(4000+add,10); // OSTimeDlyHMSM(0,0,0,10,OS_OPT_TIME_DLY,&err); // TranPulse(2400+add,10); GetFreq(); //OSTimeDlyHMSM(0,0,1,0,OS_OPT_TIME_DLY,&err); // add += 200; // if(add == 2000) // {add = 0;} } }
/** * @file main * @brief Main program. * @param None * @retval None */ int main(void) { Exti_Config();//初始化中断配置 Nvic_Config();//初始化中断向量 KEY_GPIO_Config();//按键引脚配置 LED_GPIO_Config();//初始化LED端口 Relay_GPIO_Config(); while(1) { } }
/////////////////////////////////////////////////////////////////////////////////////////////////////////// //用户任务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(); } } }