MSComm控件的使用

来源:互联网 发布:mac艺术字体打包下载 编辑:程序博客网 时间:2024/05/18 03:02

使用MSComm控件实现串行通信。

 

给工程添加MSComm控件。

 

初始化:

m_mscom.SetCommPort(1);  指定串口,参数为1~16

m_mscom.SetInBufferSize();  设置输入缓冲区的大小

m_mscom.SetOutBufferSize();  设置输出缓冲区的大小

if (!m_mscom.GetPortOpen())

{ m_mscom.SetPortOpen(TRUE); }  打开串口

m_mscom.SetInputMode(1);  设置输入方式为二进制方式

m_mscom.SetSettings("9600,n,8,1");  设置波特率等参数

m_mscom.SetRThreshold();  参数默认为0,则不产生OnComm事件。为1则接收缓冲区收到一个字符就会产生一个OnComm事件

m_mscom.SetInputLen();  设置从接收缓冲区读取的字符数

 

MSComm只有一个事件,即OnComm事件

 

发送数据:

CByteArray sendArr;

//给sendArr赋值

m_mscom.SetOutput(COleVariant(sendArr));  向发送缓冲区写数据

 

在函数OnComm中读取数据:

VARIANT  variant_inp;

COleSafeArray safearry_inp;

BYTE  rxdata[1000];

switch(m_mscom.GetCommEvent())

{

          case  2:            //表示接收缓冲区内有字符

    {

       variant_inp = m_mscom.GetInput();

                           safearray_inp = variant_inp;

                           len = safearray_inp.GetOneDimSize();

                           for (int i =0;i<len;i++)

                           {  safearray_inp.GetElement(&i,&rxdata[i]);  }

                            rxdata[i] = '/0';

                      }

                       break;

            default:

}

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 手机挤压漏液了怎么办 三星显示器跳白色线条怎么办动 三星s6屏幕漏液怎么办 三星电视曲面屏碎了怎么办 平板摔了花屏怎么办 新手机开不了机怎么办 三星a9屏幕漏液怎么办 小米note后面玻璃碎了怎么办 换手机微信钱包怎么办 内外屏一体手机屏幕碎了怎么办 苹果手机显示屏坏了怎么办 华为手机屏裂了怎么办 乐视手机屏坏了怎么办 红米手机触屏失灵怎么办 小米4排线断了怎么办 红米3x屏幕难点怎么办 华为p7屏幕不亮怎么办 红米5外屏碎了怎么办 小米电视碎屏了怎么办 oppo手机第二屏幕打不开怎么办 红米note3屏幕裂了怎么办 小米3屏幕烂了怎么办 苹果x屏幕触屏不灵怎么办 票买好了身份证丢了怎么办 广发信用卡身份证到期了怎么办 人在外地身份证丢了怎么办 人在国外身份证丢了怎么办 身份证丢了户口本不在怎么办 在北京身份证过期了怎么办 没社保卡怎么办厦门健康卡 扬州市民卡丢了怎么办 扬州市民卡坏了怎么办 重庆社保卡坏了怎么办 社保卡丢了看病怎么办 社保卡丢了买药怎么办 常州社保卡丢了怎么办 深圳社保卡掉了怎么办 上海医保卡丢了怎么办 户口转到西安后医保怎么办 上海医保卡掉了怎么办 上海医保本丢了怎么办?