串口通信问题

yeyuelingyun 2012-05-15 09:50:53
遇到一个很奇怪的问题,一开始我用龚建伟《VC++串口通信编程实践》配套的例程调试了下,然后两台机子之间是可以发送和接收数据的,但是我就把他的例程的函数改了下就不能通讯了,我又改了回去,但是奇怪的是还是不能通信,连带其他所有的例程都不能通信了,这是什么原因啊?
...全文
60 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yeyuelingyun 2012-05-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
1.硬件看看
2.关闭程序,删除.ncb文件,rebuild all
[/Quote]
不行啊,现在没改过的例程也不能通信了,不知道为什么,我又没改,是不是他的例程不能改的啊?会有记忆的啊,一改就全都不能通信了
诶呦 2012-05-15
  • 打赏
  • 举报
回复
1.硬件看看
2.关闭程序,删除.ncb文件,rebuild all
yeyuelingyun 2012-05-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
你肯定有什么东西变了,比如你的程序确实改回来了么,或者你的两台机器什么环境变了,两台都重启一下试试
[/Quote]
现在的问题是我按他书上的编,和他的例程一模一样,也能运行,但是为什么只能发送数据,不能接受数据啊,接受部分的程序和他的是一模一样的啊?有人遇到过这种情况吗?
yeyuelingyun 2012-05-15
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]
程序是需要调试的。
[/Quote]
脱裤子放屁
yeyuelingyun 2012-05-15
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
引用 5 楼 的回复:
哪位高手能帮我解决这个问题啊,很急啊。我完全按龚建伟的例程编的,可是怎么都接受不到数据,编译没错误啊。这是怎么回事啊????????我就是要得到这个接受信号才能去编另外的程序啊。。。。。。
就看你这么描述
没法解决
拿到别的电脑上试试吧
[/Quote]
换台电脑也不行。。。你是不是混分的啊?
shuzhongxunyu 2012-05-15
  • 打赏
  • 举报
回复
void CRS232Dlg::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_mscom.GetCommEvent()==2)//事件值为2表示接收缓冲区内有字符
{
variant_inp=m_mscom.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);//字符型
strtemp.Format("%c",bt);//将字符送入临时变量strtemp存放
m_recv+=strtemp;//加入接收编辑框对应字符串
}
}
UpdateData(FALSE);//更新编辑框内容
}
sichuanwww 2012-05-15
  • 打赏
  • 举报
回复
程序是需要调试的。
向立天 2012-05-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
哪位高手能帮我解决这个问题啊,很急啊。我完全按龚建伟的例程编的,可是怎么都接受不到数据,编译没错误啊。这是怎么回事啊????????我就是要得到这个接受信号才能去编另外的程序啊。。。。。。
[/Quote]就看你这么描述
没法解决
拿到别的电脑上试试吧
yeyuelingyun 2012-05-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
照你说的,软件不应该有问题啊,先两端都用串口测试工具,测试硬件(线,接头)是否OK
[/Quote]
硬件没问题,我用串口调试器试过了,能通讯的
诶呦 2012-05-15
  • 打赏
  • 举报
回复
照你说的,软件不应该有问题啊,先两端都用串口测试工具,测试硬件(线,接头)是否OK
yeyuelingyun 2012-05-15
  • 打赏
  • 举报
回复
哪位高手能帮我解决这个问题啊,很急啊。我完全按龚建伟的例程编的,可是怎么都接受不到数据,编译没错误啊。这是怎么回事啊????????我就是要得到这个接受信号才能去编另外的程序啊。。。。。。
yeyuelingyun 2012-05-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
你肯定有什么东西变了,比如你的程序确实改回来了么,或者你的两台机器什么环境变了,两台都重启一下试试
[/Quote]
但是我按他的例程编了个串口程序,完全是复试黏贴的,也能运行的起来,但是就是不能接受数据,不知道怎么搞的,在原来的例程里面也是,我把一段语句剪切了在黏贴上去,也不能接受数据了,这是为什么啊?
bluesky_ql 2012-05-15
  • 打赏
  • 举报
回复
你肯定有什么东西变了,比如你的程序确实改回来了么,或者你的两台机器什么环境变了,两台都重启一下试试

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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