| 本帖最后由 haojiege 于 2017-12-18 08:39 编辑 
 我在原子哥的第十章lwip的TCP服务器实验中的例程里加了个AD采集的任务。单独运行时以太网没问题,AD也没问题。同时运行时只有以太网可以AD任务始终没运行,我AD任务的ucos优先级已经高于以太网的了,有没有人知道可能是哪里的原因?
 
 int main(void) {           RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_CRC|RCC_AHB1Periph_GPIOA|RCC_AHB1Periph_GPIOB|RCC_AHB1Periph_GPIOC|RCC_AHB1Periph_GPIOD|RCC_AHB1Periph_GPIOE|RCC_AHB1Periph_GPIOF|RCC_AHB1Periph_GPIOG,ENABLE);           delay_init(168);                                         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);                  mymem_init(SRAMIN);                                       mymem_init(SRAMCCM);                                           CRC_ResetDR();                                            GPIO_AV_chance(1);                                       AD7689_Init();                                           AD7689_Start();                                          uart_init(9600);                                             TIM2_CH124_Cap_Init(0xffff,0);                                                                                                   OSInit();                                                while(lwip_comm_init())                  {                    printf("Lwip Init failed!");                             OSTimeDlyHMSM(0,0,0,500);            }          printf("Lwip Init Success!");                      while(tcp_server_init())                                                        {                    printf("TCP Server failed!!");                      OSTimeDlyHMSM(0,0,0,500);            }          printf("TCP Server Success!");                   OSTaskCreate(start_task,(void*)0,(OS_STK*)&START_TASK_STK[START_STK_SIZE-1],START_TASK_PRIO);          OSStart();      }   void start_task(void *pdata) {          OS_CPU_SR cpu_sr;          pdata = pdata ;               OSStatInit();                                        OS_ENTER_CRITICAL();       #if LWIP_DHCP          lwip_comm_dhcp_creat();    #endif OSTaskCreate(frequency_task,(void*)0,(OS_STK*)&FREQUENCY_TASK_STK[FREQUENCY_STK_SIZE-1],FREQUENCY_TASK_PRIO);          OSTaskCreate(ad_task,(void*)0,(OS_STK*)&AD_TASK_STK[AD_STK_SIZE],AD_TASK_PRIO);          OSTaskSuspend(OS_PRIO_SELF);           OS_EXIT_CRITICAL();   }
 |