菜鸟求助 串口接收数据的问题。

Watchmen_ 2012-06-05 04:16:23
我初次编写了一个串口程序 ,运行时无法接受数据,系统就报错。

请大侠们帮忙看看。

一下是接收数据代码:

void CMSComm_2Dlg::OnComm()
{
if(m_ctrlComm.GetCommEvent()==2)
{
VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len,k;
BYTE rxdata[2048];
CString strtemp;

variant_inp=m_ctrlComm.GetInput();
safearray_inp=variant_inp;
len=safearray_inp.GetOneDimSize();

for(k=0;k<len;k++)
safearray_inp.GetElement(&k,rxdata+k);

for(k=0;k<len;k++)
{
BYTE bt=*(char*)(rxdata+k);
strtemp.Format("%x",bt);
m_strRXData+=strtemp;
}
UpdateData(FALSE);
}

}
...全文
230 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2013-03-06
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
Watchmen_ 2012-06-09
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
应该是串口初始化失败
[/Quote]

应该不是吧,我用自己编的这个程序可以给调试助手发送数据,调试助手也能接收到。
leson123 2012-06-08
  • 打赏
  • 举报
回复
应该是串口初始化失败
happy_614 2012-06-08
  • 打赏
  • 举报
回复
检查下串口初始化
schlafenhamster 2012-06-08
  • 打赏
  • 举报
回复
MSCOMM32.OCX好像不好使。
texturelab 2012-06-08
  • 打赏
  • 举报
回复
报什么错误?
Watchmen_ 2012-06-06
  • 打赏
  • 举报
回复
我觉得是我在接受数据后进行数据转换时出错了,可程序对照好几遍了,

没发现有写错的地方,还请各位高手帮忙指点一下。
Watchmen_ 2012-06-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
RS232?需要有接收数据的监听线程,一般要用多线程实现,运行时。你如果不是用串口线连接的话,需要下载个虚拟串口工具,将电脑上的COM串口进行连接,然后同时运行两个程序。一个用于接收,一个用于发送。
[/Quote]

对,我就是这么做的,但是现在接收时就出错。
texturelab 2012-06-06
  • 打赏
  • 举报
回复
RS232?需要有接收数据的监听线程,一般要用多线程实现,运行时。你如果不是用串口线连接的话,需要下载个虚拟串口工具,将电脑上的COM串口进行连接,然后同时运行两个程序。一个用于接收,一个用于发送。
Watchmen_ 2012-06-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
系统报什么错?你有没有创建串口接收数据的监听线程?
[/Quote]


没有创建串口数据接受的监听线程,提示我 终止程序。

菜鸟第一次接触串口程序。

"tjzkangpeng"一个串口接受数据程序要使用这么多变量吗?为什么发送程序那么简单?

请你指点一下。
tjzkangpeng 2012-06-05
  • 打赏
  • 举报
回复
系统报什么错?你有没有创建串口接收数据的监听线程?

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧