打印

有谁会串口软件开发(用VC,PC上用的)

[复制链接]
2730|17
手机看帖
扫描二维码
随时随地手机跟帖
沙发
huangqi412| | 2007-10-21 18:17 | 只看该作者

有现成的串口软件啊,

自己做的话 要看蛮多书

使用特权

评论回复
板凳
wowow| | 2007-10-21 18:38 | 只看该作者

建议用pcomm lite串口开发包

这家公司是专做串口卡的,工业上用的很多。易用,稳定。google之

使用特权

评论回复
地板
machunshui| | 2007-10-21 22:49 | 只看该作者

这个不是很难

这个不是很难,找本书看一下,照猫画虎即可.

大致步骤:
1.一个收线程,一个发线程
2.设定串口参数,把串口作为文件打开.
3.读写文件即收发串口.
4.如果通信协议有明确的帧间隔要求,接受到数据后,
先不取数据,检测串口接收的字节数,一定时间内没有变化,
即认为一帧接收完毕.

网上串口类很多,下载一个,一般很容易搞定.

使用特权

评论回复
5
gyt| | 2007-10-22 09:31 | 只看该作者

这里几乎个个都会吧

开个玩笑,不要当真:)

使用特权

评论回复
6
gzhc|  楼主 | 2007-10-22 12:55 | 只看该作者

补充说明1

感谢各位啊!
    我学了VCC一段时间了,但还不够用,目前手上有个项目是这样的:协议层是MODBUS协议;物理层是RS-485结构;网络结构是:1台PC上位机带256个下位机,下位机要向上位机报告其状态信息,上位机可以查询下位机的状态信息并在PC通讯软件上显示出来并存贮和打印;
    我目前VC的水平顶多能编写一个串口通讯,显示、存贮和打印都还不会,所以想请人帮忙编,我付费的。

大家帮帮忙啊,先谢谢了!

使用特权

评论回复
7
现实主义| | 2007-10-22 13:31 | 只看该作者

上位机软件和单片机有很大的不同

上位机软件和单片机有很大的不同。
除了要实现一定的功能外,还要界面美观,操作方便等附加的部分。
不要小看了这些部分,这些部分其实是比较耗时耗力的。

毕竟术数有专攻,建议楼主发帖子到www.vckbase.com等网站论坛,会有一堆人和你联系.

使用特权

评论回复
8
winloop| | 2007-10-22 13:56 | 只看该作者

我上下全通

刚给人做了个短信抄表项目,上下位软硬件全是自己干的,跟你的需求较相似

使用特权

评论回复
9
gzhc|  楼主 | 2007-10-22 14:48 | 只看该作者

感谢现实主义

感谢现实主义,你说的太对了,就是,就是,还是老兄世面见的多,非常感谢

使用特权

评论回复
10
gzhc|  楼主 | 2007-10-22 14:55 | 只看该作者

winloop你真历害

winloop你真历害,上下位机都那么熟,你哪里工作啊,留个联系方式吧.

使用特权

评论回复
11
winloop| | 2007-10-22 16:26 | 只看该作者

我的资料里有

使用特权

评论回复
12
nilau| | 2007-10-23 08:41 | 只看该作者

界面皮肤可以去我blog上看看

源代码还不齐全,不过可以帮你搞

使用特权

评论回复
13
qiushui007| | 2007-10-23 09:28 | 只看该作者

VC中可以利用Pcomm控件,方便快捷

使用特权

评论回复
14
qiushui007| | 2007-10-23 09:45 | 只看该作者

跟Winloop学习, 目前也是上下都作

使用特权

评论回复
15
gyt| | 2007-10-23 10:44 | 只看该作者

一般的会家都是上下都做的吧?

这里的单片机高手,一般也是PC这方面的高手。缺一不可的啊!

使用特权

评论回复
16
现实主义| | 2007-10-23 12:17 | 只看该作者

要是一个小的系统,上下位机一个人有时间可以搞定

要是一个小的系统,上下位机一个人有时间可以搞定。

如果上位机软件比较大,或者以后会扩充很多功能,建议还是找专业的写上位机软件的人来做。
毕竟大一点的真正的上位机商业软件,还是比较不容易的,很多公司的SCADA系统都是一帮人开发很长时间弄出来的。

使用特权

评论回复
17
qiushui007| | 2007-10-24 09:13 | 只看该作者

VC中用 PComm 控制COM

int i,Ret,DataLen;            
    FILE *fp1;
    uchar RetDataC[30],WriteData[24],PSC[5];    

    Ret = sio_open(port);
    if (Ret != SIO_OK )
        return(-1);    //打开串口错误

    Ret = sio_ioctl (port, B9600, P_NONE | BIT_8 | STOP_1 );
    if (Ret != SIO_OK) {
        sio_close(port);
        return(-2);       //设置串口参数失败
    }    

    /*Ret = sio_lctrl (port, C_DTR | C_RTS );
    if (Ret != SIO_OK) {
        sio_close(port);
        return(-2);       //设置串口参数失败
    }*/    

    /*Ret = sio_flush(port,2);
    if (Ret != SIO_OK){
        sio_close(port);
        return(-3);       //清空 输入和输出缓冲区的数据
    }*/

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

34

帖子

1

粉丝