转载]串口通讯之MSComm串行通讯控件(2) 0 推荐 2.发送通讯数据 在Visual C++ 中,通讯控件发送数据的任务是由其接口成员函数SetOutput来实现的,该函数使用的参数是const VARIANT &newValue。VARIANT其实是一个C++结构类型,COleVariant类型对VARIANT做了进一步的封装和扩展,提供了许多新的功能和操作方法,支持OLE自动化,且更容易向其数据成员填入数据。由于COleVariant类型由VARIANT派生而来,因此将COleVariant类型的变量传递给SetOutput函数更为方便。另外,SetOutput的参数newValue类型必须是存放字节类型数据的动态数组。因此,可以利用Visual C++提供CByteArray类型来构造COleVariant类型的对象,并将其传递给SetOutput函数。对CByteArray类型变量的操作相对来说要容易的多,比如其成员函数SetSize可用来设置动态数组的大小,下标操作符[]可用来为其元素赋值等等。下面的程序代码可实现将存放在缓冲区strBuf中的100个字节的数据通过通讯控件发送出去: …… BYTE strBuf[128]; CByteArray OutBuf;