OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4482|回复: 3

STM32F407以太网例程问题

[复制链接]

3

主题

8

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2017-12-18
在线时间
8 小时
发表于 2017-12-18 08:25:01 | 显示全部楼层 |阅读模式
8金钱
本帖最后由 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();  
}

最佳答案

查看完整内容[请看2#楼]

检查你的AD任务是否创建成功
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2017-12-18 08:25:02 | 显示全部楼层
检查你的AD任务是否创建成功
回复

使用道具 举报

3

主题

8

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2017-12-18
在线时间
8 小时
 楼主| 发表于 2017-12-18 16:08:42 | 显示全部楼层
zuozhongkai 发表于 2017-12-18 09:53
检查你的AD任务是否创建成功

版主,已经创建成功了,我在以太网里显示了下创建错误代码,返回创建正常。是不是以太网的任务是单独自己创建的或者里面有更高优先级的子程序?请赐教
回复

使用道具 举报

3

主题

8

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2017-12-18
在线时间
8 小时
 楼主| 发表于 2017-12-19 10:34:48 | 显示全部楼层
谢谢版主,问题找到了,还是版主说的对,任务没正常创建,有一个任务的优先级和系统的冲突了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 21:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表