COleSafeArray在串口通信中要怎么使用

 我来答
晁云阳
2011-05-15 · TA获得超过551个赞
知道小有建树答主
回答量:640
采纳率:0%
帮助的人:0
展开全部
#define DIM 1
#define LEN 9
void CTestDlg::OnTest()
{
BYTE i1vTest[LEN] = ;

SAFEARRAYBOUND sab[DIM];
sab[0].cElements = LEN;
sab[0].lLbound = 0;

SAFEARRAY* psa = NULL;
psa = SafeArrayCreate(VT_UI1, DIM, sab);
for(long i = 0; i < LEN; i++){
SafeArrayPutElement(psa, &i, &(i1vTest[i]));
}

VARIANT vt;
vt.vt = VT_ARRAY|VT_UI1;
vt.parray = psa;

COleSafeArray sa;
sa = vt;
DWORD dwLen = sa.GetOneDimSize();

CString str;
str.Format("%d", dwLen);
MessageBox(str);
}

---------------------------------------------------------------------------------
我写了这样的一个测试程序,感觉问题应该处在你的“第一步”,也就是说,你未必完全正确的从串口缓冲区获得了有效的VARIANT数据。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-05-13
展开全部
推荐看书
Visual C++_Turbo C串口通信编程实践
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式