本帖最后由 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(); }
|