OpenEdv-开源电子网

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

关于LWIP轮询函数的小问题

[复制链接]

3

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2018-9-27
在线时间
12 小时
发表于 2018-10-9 09:57:11 | 显示全部楼层 |阅读模式
1金钱
在LWIP的UDP通信中的轮询函数“lwip_periodic_handle()”是不是要一直手动调用,我能不能把他放到定时器中断当中去调用呢?
因为工程中除了有LWIP外还有别的应用程序,这些应用程序走一圈下来已经超出了轮询周期,难道在应用程序中也要一直不断的调用轮询函数吗?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

1155

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7464
金钱
7464
注册时间
2015-1-15
在线时间
1368 小时
发表于 2018-10-9 11:23:00 来自手机 | 显示全部楼层
任务函数周期执行有问题?
回复

使用道具 举报

3

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2018-9-27
在线时间
12 小时
 楼主| 发表于 2018-10-9 15:30:57 | 显示全部楼层
yklstudent 发表于 2018-10-9 11:23
任务函数周期执行有问题?

问题倒是没有,就是有个疑问我应用层的程序在执行过程中需不需要嵌入对轮询函数的周期性调用,如果没有的话我对轮询函数调用有可能就不满足周期性了,比如我主循环一个周期要1S不等,并且轮询函数只在主循环中:
[mw_shl_code=applescript,true]int main()
{
        .
        .
        .
        while(1)
        {
                        app1();//执行时间1.5s
                        lwip_periodic_handle();//LWIP内核需要定时处理的函数
        }

}


//LWIP轮询任务lwip_periodic_handle
void lwip_periodic_handle()
{
        /*每250ms调用一次tcp_tmr()*/       
        if (lwip_localtime - TCPTimer >= TCP_TMR_INTERVAL)
        {
                TCPTimer =  lwip_localtime;
                tcp_tmr();
        }

        /*ARP每5s调用一次*/
        if ((lwip_localtime - ARPTimer) >= ARP_TMR_INTERVAL)
        {
                ARPTimer =  lwip_localtime;
                etharp_tmr();
        }
}[/mw_shl_code]
回复

使用道具 举报

0

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2018-6-29
在线时间
13 小时
发表于 2019-8-8 09:04:25 | 显示全部楼层
请问你这个最后把LwIP_Periodic_Handle(LocalTime);放在了哪里
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-26 09:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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