以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]串口数据处理 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=137014) |
-- 作者:yds -- 发布时间:2019/6/26 14:38:00 -- [求助]串口数据处理 我现在需要监控三个串口的数据(COM1.COM5,COM7) DataReceived事件代码如下: Select
Case
e.Port.PortName Case "COM7" 解析代码 我想知道的是假如COM1口的数据未完成时,COM2来数据要如何处理?是等待COM1口的数据处理完毕,还是可以直接处理?有没有办法同时处理? |
-- 作者:有点甜 -- 发布时间:2019/6/26 15:30:00 --
会排队触发 DataReceived 事件的。根据先来后到的方式排队。
|
-- 作者:YDS -- 发布时间:2019/6/26 15:32:00 -- 可以异步处理吗? |
-- 作者:有点甜 -- 发布时间:2019/6/26 15:55:00 -- 以下是引用YDS在2019/6/26 15:32:00的发言:
可以异步处理吗?
你在 DataReceived 事件,执行异步函数试试,这样可以异步处理。
|
-- 作者:YDS -- 发布时间:2019/6/26 16:00:00 -- 能具体说说嘛?比如我把com1接收到的数据用自定义函数c1来处理 Select Case e.Port.PortName Case "COM7" Functions.AsyncExecute("c7") 这样可以吗?会不会很耗资源? |
-- 作者:有点甜 -- 发布时间:2019/6/26 16:09:00 -- 1、你先测试这样能不能正确处理数据
2、不会耗资源的 |
-- 作者:YDS -- 发布时间:2019/6/26 16:55:00 -- 16:44:28:139|1 16:44:28:146|65-90-5 16:44:28:152|90-5-255 16:44:28:159|2 为什么一帧数据,会不同时间收到,这要怎么处理?
|
-- 作者:有点甜 -- 发布时间:2019/6/26 17:30:00 -- 不理解你的问题,为什么要在意什么时候收到?
1、你每个数据,难道没有结束符,说明发送的数据结束了?
2、你不能用全局变量记录字符的值,大于等于某个值以后说明数据结束了?
[此贴子已经被作者于2019/6/26 17:31:19编辑过]
|
-- 作者:YDS -- 发布时间:2019/6/27 8:36:00 -- 发送数据 x = 3 到 12 ’0.1秒x递增1发送一次数据 xy = 112 + x 发送:1-112-x-xy-2 接收数据 参数等于发送的x值 时间|参数|传输数据 16:44:25:131|3|1-112-3-115-2 16:44:25:168|3|1-65-0-0-0-0-236-44-89-2 16:44:26:125|4|1-112-4-116-2 16:44:26:139|4|1 16:44:26:147|4|65-235-3-193 16:44:26:153|4|3-243-2 16:44:27:125|5|1-112-5-117-2 16:44:27:140|5|1 16:44:27:146|5|65-124-0 16:44:27:152|5|1-189-3 16:44:27:160|5|126-2 16:44:28:125|6|1-112-6-118-2 16:44:28:139|6|1 16:44:28:146|6|65-90-5 16:44:28:152|6|90-5-255 16:44:28:159|6|2 16:44:29:125|7|1-112-7-119-2 16:44:29:138|7|1 16:44:29:146|7|65-90-5-0 16:44:29:155|7|0-0-0-160 16:44:29:164|7|2 16:44:30:126|8|1-112-8-120-2 16:44:30:139|8|1 16:44:30:145|8|65-0-0 16:44:30:152|8|0-0-0 16:44:30:158|8|0-0-0 16:44:30:165|8|65-2 16:44:31:127|9|1-112-9-121-2 16:44:31:141|9|1 16:44:31:146|9|65-112-0 16:44:31:151|9|1-0 16:44:31:157|9|1-0-0 16:44:31:163|9|179-2 16:44:32:126|10|1-112-10-122-2 16:44:32:139|10|1 16:44:32:145|10|65-0-0 16:44:32:150|10|0-0 16:44:32:156|10|148-0-2 16:44:32:161|10|215-2 16:44:33:127|11|1-112-11-123-2 16:44:33:141|11|1 16:44:33:147|11|65-44-0 16:44:33:153|11|1-192-3 16:44:33:160|11|49-2 16:44:34:125|12|1-112-12-124-2 16:44:34:139|12|1 16:44:34:145|12|65-0-1 16:44:34:151|12|0-0-112 16:44:34:157|12|0-1-179 16:44:34:163|12|2 16:44:35:123|3|1-112-3-115-2 16:44:35:137|3|1 16:44:35:143|3|65-0-0 16:44:35:149|3|0-0-236 16:44:35:156|3|44-89-2 16:44:36:127|4|1-112-4-116-2 16:44:36:141|4|1 16:44:36:146|4|65-235 16:44:36:152|4|3-193-3 16:44:36:158|4|243-2 16:44:37:126|5|1-112-5-117-2 16:44:37:141|5|1 16:44:37:146|5|65-125-0 16:44:37:153|5|1-188-3 16:44:37:160|5|126-2 16:44:38:127|6|1-112-6-118-2 16:44:38:140|6|1 16:44:38:146|6|65-90 16:44:38:152|6|5-90-5 16:44:38:157|6|255-2 16:44:39:125|7|1-112-7-119-2 16:44:39:139|7|1 16:44:39:146|7|65-90-5 16:44:39:152|7|0-0-0 16:44:39:158|7|0-160-2 16:44:40:127|8|1-112-8-120-2 16:44:40:140|8|1 16:44:40:146|8|65-0-0 16:44:40:153|8|0-0-0 16:44:40:161|8|0-0-0-65 16:44:40:167|8|2 16:44:41:125|9|1-112-9-121-2 16:44:41:138|9|1 16:44:41:144|9|65-112-0 16:44:41:149|9|1-0 16:44:41:155|9|1-0-0 16:44:41:161|9|179-2 16:44:42:126|10|1-112-10-122-2 16:44:42:139|10|1 16:44:42:146|10|65-0-0 16:44:42:151|10|0-0 16:44:42:157|10|148-0-2 16:44:42:163|10|215-2 16:44:43:127|11|1-112-11-123-2 16:44:43:141|11|1 16:44:43:146|11|65-44-0 16:44:43:152|11|1-192-3 16:44:43:158|11|49-2 16:44:44:124|12|1-112-12-124-2 16:44:44:137|12|1 16:44:44:143|12|65-0-1 16:44:44:149|12|0-0-112 16:44:44:156|12|0-1-179 16:44:44:162|12|2 |
-- 作者:YDS -- 发布时间:2019/6/27 8:41:00 -- 接收数据的起始字节1,结束字节2,中间字节小于3的前面增加转义符0 |