谁能帮助我解决1105584这个问题,给300分,在线等待,绝不食言!(200分)

  • 主题发起人 主题发起人 cqwty
  • 开始时间 开始时间
C

cqwty

Unregistered / Unconfirmed
GUEST, unregistred user!
请看题!谢谢!
 
我现在在做一个用串口监视交换机的告警,
然后将监视得到的每一条告警信息写入数据库,
我的思路是检测串口的接受针脚的信号,这样
可以判断是不是接收完了,如果接受完,那就
创建一个线程,将接收到的告警信息写入数据库
不知道这样对不对,我没有搞过这个东西,
大家给点提示,谢谢!
 
没必要直接监视串口信号。 利用Comm控件,在它的datareceived事件中处理数据就行了。
 
怎样判断接收完毕呢?只要端口一打开就一直接收,关键是交换机的告警信息是一条一条的阿
我要对每一条告警信息进行处理,如果直接在接收事件里面写的话,那怎么判断交换机发送
完了一次告警信息?谢谢!
 
这倒是个问题。。。 一般的串行通信都是遵守一定的协议才能知道对方是否发送完毕的。
交换机的警告信息有什么特征吗?(比如说换行符、时间间隔等)。
 
听老板说是交换机在发送告警信息之前要给计算机的串口发送一个请求发送信息,
而一次告警发送完毕之后就会改变对应的串口针脚的信号,可是叫老板给详细的
资料,他说没有,我ft!监视的交换机只有一台,没有必要使用多线程,而且告警
信息不多,几乎就没有,我想直接就是用timer控件扫描,然后触发就是那,不知道
大家觉得怎么样!?
 
请求发送RTS?这个没什么用的,这是串口发送数据的一些基本控制信号。也无须判断什么
时候开始,这个串口控件会自动处理的。关键是判断什么时候发送结束。你要判断什么
时候结束只能通过发送的内容本身(如换行符、EOF等),或者是时间信息(几秒钟内没有
新数据等)。

用一个终端仿真程序监视收到的信息,搞清楚规律,应该能够做出来。
 
在资料不全的情况下,就象破解某个网络软件之间的信息流格式
你可以有意的让交换机报警,多来几种不同的错误方式,比如警告内容为0等等
然后分析接受的二进制包,一般头尾都有特殊的标志,否则接近头的地方有包大小CRC等信息
 
谢谢,当时老板说是这样的情况,交换机采用的是9针的形式,其中用了8针,
交换机发送告警信息的时候还会先发送一个请求信号,然后再进行发送,
发送完毕之后就发送一个完毕信号,并把相应的针脚信号置反,可是问老板
要那些详细的资料,老板说没有,我倒,这种怎么做哦?
to LuJuhe:你说的终端仿真程序哪儿有?能给我一个下载地址吗?
还有就是告警信息不频繁,一般情况下是不会有的,而且是有才发送,没有
就不发送的,这样就没有时间的规律性了。而且监控的交换机只有一台,这样
的话,我想就不用什么多线程这么麻烦了,直接就是一个应用程序好了,可是
现在的关键问题就是上面的东西,谢谢大家的参与,问题还没有解决阿!
 
同意LuJuhe说法,这不是并行 口。
 
去"51单片机"之类的单片机网站有串口调试工具。
 
to cqwty:
看来你和老板都不懂串口的原理。[:)] 程序控制串口[red]根本就不需要也没必要[/red]检测串口的
针脚信号,除非你想在实模式下用汇编写。
终端仿真程序多的很,Win里面的“超级终端”就行了。
 
不是不懂的问题,老板提示说交换机在发送之前要发一个请求信号,发送完了
要发送一个结束信号,老板不在,出车去了,回来就要交货,他不在就不能
用超级终端检测。至于串口的握手信号,有硬件握手和软件握手两种阿,
to lujuhe:那您的意思就是看每次发送信息的结束字符是什么哦?
然后由这个来判断,同时写入数据库!
 
多人接受答案了。
 
后退
顶部