程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 用Activex實現串口通信

用Activex實現串口通信

編輯:關於C語言

 

 

為實現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);           /*每接收一個字符則激發OnComm()事件

 

    接收數據

 

        m_comm.SetInputLen(1);               /*每次讀取一個字符

 

        VARINAT V1=m_comm.GetInput();        /*讀入字符

 

        m_V1=V1.bstrval;   

 

    發送字符

 

         m_comm.SetOutput(COlevariant("Hello");/*發送“Hello"

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved