MSCOMM通信控件接收数据
2009-03-09 08:42
239 查看
从串口接收数据,显示在Edit Box里:
void CMyDlg::OnOnCommMscomm1()
{
// TODO: Add your control notification handler code here
VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len, k;
BYTE rxdata[2048];
CString strtemp;
if (m_ctrlComm.GetCommEvent() == 2) // 事件值为2表示接受缓冲区内有字符
{
variant_inp = m_ctrlComm.GetInput(); // 读缓冲区
safearray_inp = variant_inp; // VARIANT型变量转换为COleSafeArray型变量
len = safearray_inp.GetOneDimSize(); // 得到数据有效长度
for (k = 0; k < len; k++)
safearray_inp.GetElement(&k, rxdata + k); // 转换为BYTE型数组
for (k = 0; k < len; k++) // 将数组转换为CString型变量
{
BYTE bt = *(char*)(rxdata + k); // 字符型
// if (m_ctrlHexDisplay.GetCheck())
strtemp.Format("%02X ", bt); // 将字符以16进制方式送入临时变量strtemp存放,注意这里加入一个空格
// else
// strtemp.Format("%c", bt); // 将字符送入临时变量strtemp存放
m_device_num_list += strtemp; // 加入接收编辑框对应字符串
}
}
UpdateData(FALSE); // 更新编辑框内容
}
void CMyDlg::OnOnCommMscomm1()
{
// TODO: Add your control notification handler code here
VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len, k;
BYTE rxdata[2048];
CString strtemp;
if (m_ctrlComm.GetCommEvent() == 2) // 事件值为2表示接受缓冲区内有字符
{
variant_inp = m_ctrlComm.GetInput(); // 读缓冲区
safearray_inp = variant_inp; // VARIANT型变量转换为COleSafeArray型变量
len = safearray_inp.GetOneDimSize(); // 得到数据有效长度
for (k = 0; k < len; k++)
safearray_inp.GetElement(&k, rxdata + k); // 转换为BYTE型数组
for (k = 0; k < len; k++) // 将数组转换为CString型变量
{
BYTE bt = *(char*)(rxdata + k); // 字符型
// if (m_ctrlHexDisplay.GetCheck())
strtemp.Format("%02X ", bt); // 将字符以16进制方式送入临时变量strtemp存放,注意这里加入一个空格
// else
// strtemp.Format("%c", bt); // 将字符送入临时变量strtemp存放
m_device_num_list += strtemp; // 加入接收编辑框对应字符串
}
}
UpdateData(FALSE); // 更新编辑框内容
}
相关文章推荐
- MSComm控件接收二进制数据内存泄露解决办法
- mscomm控件接收二进制数据后的处理
- 在VC++6.0中利用串行通信控件(GPS数据接收)
- 循环buffer解决网络通信中数据的不完整接收
- 关于原子哥ENC28J60网络通信模块接收数据代码的一点疑惑
- RS485通信字符串数据接收处理的问题
- Socket 通信发送和接收数据
- 关于通信中数据接收的处理方法讨论
- 26 API-网络编程(网络概述,Socket通信机制,UDP协议发送和接收数据,TCP协议发送和接收数据)
- c#网络通信框架networkcomms内核解析之六 处理接收到的二进制数据
- C#通过API获取接收数据窗体控件句柄,并向该句柄发送文本信息
- C#串口通信:MSComm控件使用详解
- VC控件MSComm编写串口通信程序(转)
- Android之Socket通信&&Handler 发送接收多条数据
- 手把手教你Android手机与BLE终端通信--连接,发送和接收数据
- UDP和TCP通信机制(实现简单的数据发送与接收)
- 串口通信中接收数据时延迟处理与缓存处理的解决方案(C#)
- VC控件MSComm编写串口通信程序(转)
- Contiki通信之数据接收过程
- 在VS2005和2008的对话框里,添加了一个MSCOMM通信控件,怎么mscomm.h和mscomm.cpp没有自动出现?