谢谢!
12 个解决方案
#1
操作系统内核提供定时器。如果没有OS的话,那只好自己实现了。大致思路是一个定时器跟一个回调函数,当超时时调用。跟具体系统有关。
#2
看看TCP的源代码了,一个定时器就够了
#3
大家都说的这么简洁啊
我是这样实现的,不知道对不对:
先建立一个结构,包括建立时的时间starttime和超时时间interval
然后启动一个线程不断检测,当发现starttime+interval<=now的时候就是超时了
不过如果在单片机上实现的话,没有线程就不知道怎么办好了
我是这样实现的,不知道对不对:
先建立一个结构,包括建立时的时间starttime和超时时间interval
然后启动一个线程不断检测,当发现starttime+interval<=now的时候就是超时了
不过如果在单片机上实现的话,没有线程就不知道怎么办好了
#4
楼主要在单片机上实现呀!呵呵,单片机资源匮乏,可费了劲了!建议使用KEIL的RTX小操作系统,用tiny的就行。可以开多个task,task之间可用signal通讯,方便不少的。
#5
单片机上需要用到中断,而且数据传输速度肯定受影响。
不过单片机一般也不会太追求速度的。
不过单片机一般也不会太追求速度的。
#6
各位楼主怎么那么土啊
#7
?很土?
哪你说说你的高见。
哪你说说你的高见。
#8
呵呵,他是说咱们什么年代了还用单片机,土。嘿嘿!殊不知,单片机的应用比PC可广的多了,而且是越来越多!
#9
哦,是这个意思?
哎,看来我这个人土了。。。呵呵
哎,看来我这个人土了。。。呵呵
#10
参考书《TCP/IP高级程序设计》,里面有个例子实现了超时和重传
#11
我不是说你用单片机土,而是你的思维方式。
设计定时器的方法太多了,首先要考虑定时的精度和预期的定时器数量问题。
如果精度不高,又允许一定的时飘,可以采用伯克利的TCP/IP协议栈的经典设计。
如果精度很高,恐怕要在硬件的数量和分辨率上给于支持才行。
通常都是采用中断的方式,
谁还会用查询的方式啊?
而且还要考虑定时系统的复核(定时器的数量和分辨率),否则你的操作系统将不堪重负。
你觉得如何?
设计定时器的方法太多了,首先要考虑定时的精度和预期的定时器数量问题。
如果精度不高,又允许一定的时飘,可以采用伯克利的TCP/IP协议栈的经典设计。
如果精度很高,恐怕要在硬件的数量和分辨率上给于支持才行。
通常都是采用中断的方式,
谁还会用查询的方式啊?
而且还要考虑定时系统的复核(定时器的数量和分辨率),否则你的操作系统将不堪重负。
你觉得如何?
#12
to johnsonest():我觉得你自己土,我看了好几个地方的贴子,你都不给出个答案,而是再到处指责别人怎么样怎么样,你厉害你就把解决方案写出来啊!别只说理论.
我题目上已经明确的写了,TCP/IP的定时器怎么实现,哪你说TCP/IP的定时器精度高还是不高?协议里定好的那些定时器,我当然是以他们为标准了。
我是不能成为什么好的工程师,你觉得你如何?
我题目上已经明确的写了,TCP/IP的定时器怎么实现,哪你说TCP/IP的定时器精度高还是不高?协议里定好的那些定时器,我当然是以他们为标准了。
我是不能成为什么好的工程师,你觉得你如何?
#1
操作系统内核提供定时器。如果没有OS的话,那只好自己实现了。大致思路是一个定时器跟一个回调函数,当超时时调用。跟具体系统有关。
#2
看看TCP的源代码了,一个定时器就够了
#3
大家都说的这么简洁啊
我是这样实现的,不知道对不对:
先建立一个结构,包括建立时的时间starttime和超时时间interval
然后启动一个线程不断检测,当发现starttime+interval<=now的时候就是超时了
不过如果在单片机上实现的话,没有线程就不知道怎么办好了
我是这样实现的,不知道对不对:
先建立一个结构,包括建立时的时间starttime和超时时间interval
然后启动一个线程不断检测,当发现starttime+interval<=now的时候就是超时了
不过如果在单片机上实现的话,没有线程就不知道怎么办好了
#4
楼主要在单片机上实现呀!呵呵,单片机资源匮乏,可费了劲了!建议使用KEIL的RTX小操作系统,用tiny的就行。可以开多个task,task之间可用signal通讯,方便不少的。
#5
单片机上需要用到中断,而且数据传输速度肯定受影响。
不过单片机一般也不会太追求速度的。
不过单片机一般也不会太追求速度的。
#6
各位楼主怎么那么土啊
#7
?很土?
哪你说说你的高见。
哪你说说你的高见。
#8
呵呵,他是说咱们什么年代了还用单片机,土。嘿嘿!殊不知,单片机的应用比PC可广的多了,而且是越来越多!
#9
哦,是这个意思?
哎,看来我这个人土了。。。呵呵
哎,看来我这个人土了。。。呵呵
#10
参考书《TCP/IP高级程序设计》,里面有个例子实现了超时和重传
#11
我不是说你用单片机土,而是你的思维方式。
设计定时器的方法太多了,首先要考虑定时的精度和预期的定时器数量问题。
如果精度不高,又允许一定的时飘,可以采用伯克利的TCP/IP协议栈的经典设计。
如果精度很高,恐怕要在硬件的数量和分辨率上给于支持才行。
通常都是采用中断的方式,
谁还会用查询的方式啊?
而且还要考虑定时系统的复核(定时器的数量和分辨率),否则你的操作系统将不堪重负。
你觉得如何?
设计定时器的方法太多了,首先要考虑定时的精度和预期的定时器数量问题。
如果精度不高,又允许一定的时飘,可以采用伯克利的TCP/IP协议栈的经典设计。
如果精度很高,恐怕要在硬件的数量和分辨率上给于支持才行。
通常都是采用中断的方式,
谁还会用查询的方式啊?
而且还要考虑定时系统的复核(定时器的数量和分辨率),否则你的操作系统将不堪重负。
你觉得如何?
#12
to johnsonest():我觉得你自己土,我看了好几个地方的贴子,你都不给出个答案,而是再到处指责别人怎么样怎么样,你厉害你就把解决方案写出来啊!别只说理论.
我题目上已经明确的写了,TCP/IP的定时器怎么实现,哪你说TCP/IP的定时器精度高还是不高?协议里定好的那些定时器,我当然是以他们为标准了。
我是不能成为什么好的工程师,你觉得你如何?
我题目上已经明确的写了,TCP/IP的定时器怎么实现,哪你说TCP/IP的定时器精度高还是不高?协议里定好的那些定时器,我当然是以他们为标准了。
我是不能成为什么好的工程师,你觉得你如何?