精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>C/C++>>网络与通讯>>用Windows自带控件实现串口通信

主题:用Windows自带控件实现串口通信
发信人: tony_tang()
整理人: girlrong(1999-11-13 15:05:49), 站内信件
为实现Windows的串口通信可用API实现,但十分不便。也可以用Active控件实现。

先在应用程序中插入Active控件Microsoft comm contronl(MSComm)。
SComm控件的属性
    MSComm控件的属性
        CommPort:设置串口号,类型 short :1-comm1 2-comm2.
        Settings:设置串口通讯参数,类型 CString :B-波特率 P-奇偶性(N
-无校验,E-偶校验,O-奇验) D-字节有效位数S-停止位。
        PortOpen:设置或返回串口状态,类型 BOOL:TURE-打开 FALSE-关闭。

        InputMode:设置从接收缓冲区读取数据的格式,类型 long: 0-Text 1
-Bin.
        Input:从接收缓冲区读取数据 类型 VARIANT。
        InBufferCount:接收缓冲区中的字节数,类型:short.
        InBufferSize:接收缓冲区的大小,类型:short.
        Output:向发送缓冲区写入数据,类型:VARIANT.
        OutBufferCount:发送缓冲区中的字节数,类型:short.
        OutBufferSize:发送缓冲区的大小,类型:short.
        InputLen:设置或返回Input读出的字节数,类型:short.
        CommEvent:串口事件,类型:short.
程序示例
    串口初始化
        if(!m_comm.GetPortOpen())
            m_comm.SetPortOpen(TURE);        /*打开串口
        m_comm.SetSettings("4800,n,8,1");  /*串口参数设置  
        m_comm.SetInputMode(0);            /*设置TEXT缓冲区输入方式
        m_comm.SetRthresHold(1);           /*每接收一个字符则激发OnCom
m()事件
    接收数据
        m_comm.SetInputLen(1);               /*每次读取一个字符
        VARINAT V1=m_comm.GetInput();        /*读入字符
        m_V1=V1.bstrval;    
    发送字符
         m_comm.SetOutput(COlevariant("Hello");/*发送“Hello"

--
人家说我苕,我说我不苕.
外面下大雨,我往屋里跑!

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.155.204]

[关闭][返回]