您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> VC/MFC >> Vc60 串口通信问题

Vc60 串口通信问题

来源:网络整理     时间:2016/7/29 11:29:12     关键词:

关于网友提出的“ Vc60 串口通信问题”问题疑问,本网通过在网上对“ Vc60 串口通信问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: Vc60 串口通信问题
描述:

  现在用VC6.0编写串口通信方面的小软件,该软件要适合不同的规约,目前要用到的规约有两种:
一种是问答式的,即主站不发送报文询问,子站不会上传报文,但是该规约要有巡检过程,即不停地发送报文询问子站,该过程尽量时间越短越好(毫秒级单位);
另一种是子站不停地向主站发送报文,主站不停地接触处理报文(报文长度不定,所以要有报文分帧的处理方法);
软件的主要功能就是与子站进行通信,获取子站数据然后显示该数据;
软件要有比较好的扩展性,即以后添加不同规约的处理,能尽量少的改动现有代码就能添加新功能及规约;
要求基本上就是这些,我刚接触这些编程不久,在软件整体架构的设计上没有太多经验,现在大体的想法是不同的规约定义为不同的类,其中定义不同的接收处理函数,程序启动时进行初始化处理,打开串口默认打开一种规约;
报文接收处理时把数据放到定义好的内存中,即定义不同的数组存放这些数据,显示时直接读取这些数组中数据进行显示,设定定时器,定时刷新界面显示;
现在想集思广益,看看有没有更好的设计方式,希望大家多给意见!


解决方案1:

引用 8 楼 pangzi85480 的回复:
第一种简单。打开串口后WriteFile().完了ReadFile().
一般是把每种设备的通信过程做成DLL,这样方便。
第二种就稍微复杂点了。有可能一次ReadFile读上来多包数据,那么就要自己解析了。

这位帅哥的讲的蛮清楚了哦。。。。
第一种是一问一答:所以接收的数据区域不会出现多条命令混在一起,每次收的都会是一条命令(时间要足够)
第二种就会出现:一次可能接收一条命令,也可能出现一次接收多条,需要做数据包分析了。。。。 解决方案2:

串口通信这一块是比较成熟的东西了。。。。
楼主:你这个两种规则是不是针对两种设备啊?
这两个规则串口接收和发送的信息都可以用一个函数。。。
在接受完数据后,对你的二级数据缓冲区进行数据分析。。。

解决方案3:

学习一下~!

解决方案4:

第一种简单。打开串口后WriteFile().完了ReadFile().
一般是把每种设备的通信过程做成DLL,这样方便。
第二种就稍微复杂点了。有可能一次ReadFile读上来多包数据,那么就要自己解析了。

解决方案5:

取其精华,弃其糟粕~~~拿来主义~~~支持~~

解决方案6:

引用 5 楼 liuchui2009 的回复:
引用 4 楼 li985837 的回复:
做开发就是这样的,如果你开发的东西全部都是自己开发,那就会累死了。只要是有现成的,成熟的东西就拿过来用,这样才有利于软件行业的发展呀。
有道理

有屁理,知其然,不知其所以然 解决方案7:

引用 4 楼 li985837 的回复:
做开发就是这样的,如果你开发的东西全部都是自己开发,那就会累死了。只要是有现成的,成熟的东西就拿过来用,这样才有利于软件行业的发展呀。

有道理 解决方案8:

做开发就是这样的,如果你开发的东西全部都是自己开发,那就会累死了。只要是有现成的,成熟的东西就拿过来用,这样才有利于软件行业的发展呀。

解决方案9:

这样的,软件,非常成熟的多了去了。很多公司都有非常成熟的东西。
需要的话,可以联系我。

解决方案10:

// 可以考虑将串口通讯部分做成dll


以上介绍了“ Vc60 串口通信问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3003335.html

相关图片

相关文章