以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 发现一个奇怪的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=86260) |
-- 作者:ljh29206 -- 发布时间:2016/6/14 11:44:00 -- 发现一个奇怪的问题 If Vars("完成的闪烁灯次数") < 60 Then If Vars("完成的闪烁灯号") > "" Then If Vars("完成的闪烁灯号").CONTAINS(" FF 00") Then Functions.Execute("灯输出控制",Vars("完成的闪烁灯号").SubString(0,11) & " 00 00") Vars("完成的闪烁灯号") = Vars("完成的闪烁灯号").SubString(0,11) & " 00 00" Vars("完成的闪烁灯次数") = Vars("完成的闪烁灯次数") +1 Else Functions.Execute("灯输出控制",Vars("完成的闪烁灯号").SubString(0,11) & " FF 00") Vars("完成的闪烁灯号") = Vars("完成的闪烁灯号").SubString(0,11) & " FF 00" Vars("完成的闪烁灯次数") = Vars("完成的闪烁灯次数") +1 End If End If Else If Vars("完成的闪烁灯号") > "" Then Functions.Execute("灯输出控制",Vars("完成的闪烁灯号").SubString(0,11) & " 00 00") Vars("完成的闪烁灯号") = Nothing MyTimers("已经完成的灯闪烁").Enabled = False End If End If 以上的代码 放在计时器里面,当计时器开始后 如果在这个期间 触发异步的语音朗读, 以上的代码 会卡住, 直到第一次的语音朗读完成再继续, 但是经过第一次后,接下来的几次语音朗读 都不会导致 代码 卡住。 不知道各位有没试过这个情况? [此贴子已经被作者于2016/6/14 11:45:32编辑过]
|
-- 作者:大红袍 -- 发布时间:2016/6/14 12:16:00 -- 不应该,把代码改成输出当前时间,做个具体实例发上来测试。 [此贴子已经被作者于2016/6/14 12:15:47编辑过]
|
-- 作者:ljh29206 -- 发布时间:2016/6/14 12:23:00 -- 测试了, 不是语音朗读问题 If Vars("完成的闪烁灯号").CONTAINS(" FF 00") Then Functions.Execute("灯输出控制",Vars("完成的闪烁灯号").SubString(0,11) & " 00 00") Vars("完成的闪烁灯号") = Vars("完成的闪烁灯号").SubString(0,11) & " 00 00" Vars("完成的闪烁灯次数") = Vars("完成的闪烁灯次数") +1 Else Functions.Execute("灯输出控制",Vars("完成的闪烁灯号").SubString(0,11) & " FF 00") Vars("完成的闪烁灯号") = Vars("完成的闪烁灯号").SubString(0,11) & " FF 00" Vars("完成的闪烁灯次数") = Vars("完成的闪烁灯次数") +1 End If 完全就是这段代码的问题 写入串口缓冲区的时候, 设备接收的信号不知道怎么处理! 老是会出现处理缺失,导致 灯 的开关信号不能 收到, 直接导致 灯 卡住了! 请问袍哥 除了 这个方法 还有没其他的办法 做到 灯闪烁
[此贴子已经被作者于2016/6/14 12:23:33编辑过]
|
-- 作者:大红袍 -- 发布时间:2016/6/14 12:37:00 -- 你要发送什么信息做闪烁啊。弹出具体的值,看合成的值有没有问题啊 |
-- 作者:ljh29206 -- 发布时间:2016/6/14 13:39:00 -- 值没有问题的 ,单独发送都可以 "01 05 00 07 FF 00" 开 "01 05 00 07 00 00" 关 (数组写入 已经进行处理) 用 System.Threading.Thread.Sleep(300),能够有效间隔开。 请教 如何使 通过代码让灯发生闪烁,但不会导致系统挂起! 另外开一条线程的行否? 改怎么写呢
[此贴子已经被作者于2016/6/14 13:40:04编辑过]
|
-- 作者:ljh29206 -- 发布时间:2016/6/14 14:06:00 -- 袍哥 如何判断 串口 缓冲区的 数据 已经被 设备处理掉?
|
-- 作者:大红袍 -- 发布时间:2016/6/14 14:27:00 -- 1、你发送的内容,是否正确?
2、加大发送间隔执行是否正常?
3、参考 http://www.foxtable.com/help/topics/1977.htm
|