L luoshitu Unregistered / Unconfirmed GUEST, unregistred user! 2003-08-07 #21 在pc端,为了达到5ms的响应时间,我觉得你不能用控件,应该直接底层操作,如果是win98,你可以用嵌入asm汇编语言来实现。另外是不是你的发送缓冲区设得太大,所以发送比较缓慢,有个门限,一次发送多少数据!!
在pc端,为了达到5ms的响应时间,我觉得你不能用控件,应该直接底层操作,如果是win98,你可以用嵌入asm汇编语言来实现。另外是不是你的发送缓冲区设得太大,所以发送比较缓慢,有个门限,一次发送多少数据!!
疯 疯语者 Unregistered / Unconfirmed GUEST, unregistred user! 2003-08-08 #23 to luoshitu 我必须使用各种WIN32平台,我自己用的开发平台是XP,我嵌入ASM,结果编译失败, 关于5ms的限制是这样的,单片机在发出请求后须在5ms内至少受到一个字节,如果收到它就会等待你的指令传送完毕,如过在5ms内没有任何数据送到,它就返回做其他的事情.
to luoshitu 我必须使用各种WIN32平台,我自己用的开发平台是XP,我嵌入ASM,结果编译失败, 关于5ms的限制是这样的,单片机在发出请求后须在5ms内至少受到一个字节,如果收到它就会等待你的指令传送完毕,如过在5ms内没有任何数据送到,它就返回做其他的事情.
H hclee Unregistered / Unconfirmed GUEST, unregistred user! 2003-08-08 #24 如果单片机程序有源码,最好改单片机程序,由单任务查询式改为多任务处理方式。 由于计算机对串行数据的响应时间不是固定的(依系统运行情况而定),再加上你程序的处理时间,很难在短时间内可靠响应。如果不使用较长的响应时间,很容易出现测试没问题,一到用户那里就常出问题的毛病。
如果单片机程序有源码,最好改单片机程序,由单任务查询式改为多任务处理方式。 由于计算机对串行数据的响应时间不是固定的(依系统运行情况而定),再加上你程序的处理时间,很难在短时间内可靠响应。如果不使用较长的响应时间,很容易出现测试没问题,一到用户那里就常出问题的毛病。
A apw Unregistered / Unconfirmed GUEST, unregistred user! 2003-08-08 #25 响应时间与用什么语言写程序没关系,在Win32平台下用直接读写端口是特权指令,实现起来难度较大;更何况以现在的计算机速度,5ms应可以完成几十万条代码没问题。 主要与你的控件对COM口数据的响应方式有关。不论你是用控件,还是用API,实质上是一样的。 SPcomm的是按查询方式读取端口的,而用Comport控件是以响应Windows COM事件进行响应。 我也碰到过楼主类似问题,主要原因在于Spcomm控件在Win32平台下工作有些问题,换成Comport后一切问题决定,通讯基本上没有延时。 当然,你的应用响应COM数据后的反应速度也是你要解决的问题。
响应时间与用什么语言写程序没关系,在Win32平台下用直接读写端口是特权指令,实现起来难度较大;更何况以现在的计算机速度,5ms应可以完成几十万条代码没问题。 主要与你的控件对COM口数据的响应方式有关。不论你是用控件,还是用API,实质上是一样的。 SPcomm的是按查询方式读取端口的,而用Comport控件是以响应Windows COM事件进行响应。 我也碰到过楼主类似问题,主要原因在于Spcomm控件在Win32平台下工作有些问题,换成Comport后一切问题决定,通讯基本上没有延时。 当然,你的应用响应COM数据后的反应速度也是你要解决的问题。
疯 疯语者 Unregistered / Unconfirmed GUEST, unregistred user! 2003-08-08 #26 to apw 你有Comport编程的例子和控件吗?如果有,请给我一份, candylyg@sina.com
I itren Unregistered / Unconfirmed GUEST, unregistred user! 2003-08-08 #27 串口的东西不好玩.. 帮你提前. http://cnsoft.inows.com/ 我的共享地带
R RGKJ Unregistered / Unconfirmed GUEST, unregistred user! 2003-08-12 #29 Apw说得很对,SPCOMM是轮讯的方式,实时性差,而Comport则是基于事件的,实时性好, 我有现成的控件和完整源代码,我可以给你.QQ:84253262