社区
单片机/工控
帖子详情
关于串口的问题
老Gay
2006-09-01 09:29:11
接收方和送信方通过串口通信,送信方向接收方送出数据后接收方收到的数据会不完整(数据中的某些BYTE会丢失),并且会向自动发送方发送一些杂乱的数据,但是代码中并没有做相应的动作.双方串口的设置是完全相同的,有人见过这样的问题么?
很急,在线等~~~
谢谢~~~~~~
...全文
258
14
打赏
收藏
关于串口的问题
接收方和送信方通过串口通信,送信方向接收方送出数据后接收方收到的数据会不完整(数据中的某些BYTE会丢失),并且会向自动发送方发送一些杂乱的数据,但是代码中并没有做相应的动作.双方串口的设置是完全相同的,有人见过这样的问题么? 很急,在线等~~~ 谢谢~~~~~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
flowercity
2006-09-02
打赏
举报
回复
mark
gniyliu
2006-09-01
打赏
举报
回复
难道就是传说中的超级终端,老家伙够可以的阿
老Gay
2006-09-01
打赏
举报
回复
想杀人啊..........
老Gay
2006-09-01
打赏
举报
回复
问题解决了......
这个端口被设置成console口了......
我给忘了.......
郁闷啊!!!!!!!!
freeyang_ren
2006-09-01
打赏
举报
回复
不好说
你看你前面给出的的错误
# #
# #0
# #00
# #00V
# #00VR
# #00VR+
# #0 [(# #00VR+)-(# #00000+下一个数]=受信的初始值;
受信:0VR+0
# #00VR+01
# #00VR+012
# #00VR+0123
# #00V [(# #00VR+0123)-(# #00V000000+下一个数]=受信的初始值;
受信:R+01234
# #00VR+012345
# #00VR+012345
# #00VR+012 [(# #00VR+012345)-(# #00VR+012000+下一个数]=受信的初始值;
受信:345 8
# #00VR+012345 85
not found.
#
受信:
你把allcnt>=0x10改成allcnt>=16试试吧
不行的话你句把你的整个程序都给写出来在看看
老Gay
2006-09-01
打赏
举报
回复
这个在循环外面是有初始化过的......
应该和这个没问题~~~~~
主要是接收会丢失数据~~~~~
同时还会向发送端发送上面那种莫名其妙的数据~~~~~
但是在代码中发送数据的地方发送的数据是写死不会变的.......
freeyang_ren
2006-09-01
打赏
举报
回复
if( allCnt >= 0x10 )
{
printf( "-------- cnt = %d\n", allCnt );
printf("------------recv = " );
for( i = 0; i < allCnt; i++ )
{
printf("%c", wkBuf[i] );
}
printf( "\n");
allCnt= 0x00;
break;
}
}
}
}
在一次输出完以后加一个将allcnt重新初始化一下
这样下次才能在从新开始加
你看看这样行不行
没有完整的程序我也没有办法给你调试所以你自己试吧
老Gay
2006-09-01
打赏
举报
回复
没人来救我一下么........
老Gay
2006-09-01
打赏
举报
回复
收信端程序就是简单的监听端口,然后接收数据达到一定长度就打印出来,但是接收到的数据中间经常缺一些BYTE.....
while( 1 ){
FD_ZERO( &fds );
FD_SET( scDev[ret-1]->rsfd, &fds );
n = scDev[ret-1]->rsfd;
if( select(n + 1, &fds, NULL, NULL, &tmv) == 0 )
{
printf( "timeout!!--!!--\n" );
// tcflush( scDev[ret-1]->rsfd, TCIOFLUSH ); /* 送受信バッファクリア */
} else {
res = read(scDev[ret-1]->rsfd, &wkBuf[allCnt], 1024);
if( res > 0 )
{
printf("receive num = %d\n", res);
allCnt += res;
if( allCnt >= 0x10 )
{
printf( "-------- cnt = %d\n", allCnt );
printf("------------recv = " );
for( i = 0; i < allCnt; i++ )
{
printf("%c", wkBuf[i] );
}
printf( "\n" );
break;
}
}
}
}
以上就是接收段主要程序~~~~~
老Gay
2006-09-01
打赏
举报
回复
发送端用的是MSCOMM~~~
以前都可以的~~~~
这次不知道为什么不行了........
freeyang_ren
2006-09-01
打赏
举报
回复
你的把主要的程序给写出来我们才能和你一起分析
要不你这么笼统大家根本就没有办法给你解决这个问题
在这些东西上硬件和软件的问题都有可能的
我们大家可以给你检查一下软件有没有问题
但是硬件你就的自己看你的连接或者是设计上有没有问题了
老Gay
2006-09-01
打赏
举报
回复
送信: 23 30 30 56 52 2B 30 31 32 33 34 35 20 38 35 0D
受信:
# #
# #0
# #00
# #00V
# #00VR
# #00VR+
# #0
受信:0VR+0
# #00VR+01
# #00VR+012
# #00VR+0123
# #00V
受信:R+01234
# #00VR+012345
# #00VR+012345
# #00VR+012
受信:345 8
# #00VR+012345 85
not found.
#
受信:
=============================
以上就是错误时候的LOG~~~~~
送信显示的是送信电文的ASCII码~~~~
电文是#00VR+012345 85\n~~~~~~
不知道有没有人遇到过这样的问题~~~~
icesnows
2006-09-01
打赏
举报
回复
这么不清不楚哪能知道唉
老Gay
2006-09-01
打赏
举报
回复
救命啊顶上去~~~~~~
串行通信接口讲座:接口功能与数据传输方式,
接口功能与数据传输方式, 串行传送的几个
问题
, 串行通信的数据格式, 串行接口标准, 串行通信接口任务 用8251A组成的串行接口
微机原理 8251串行通信 实验报告!
《微型计算机技术及应用》实验报告,错过绝对损失!...微型计算机技术 微型计算机技术及应用 微机原理与接口技术 戴梅萼 实验报告 答案 8251串行通信 8255并行接口实验 8259中断控制实验 静态存储器扩展实验
Visual C++
串口
通信技术详解.(机械工业.李景峰.杨丽娜.潘恒)
1.1.5 串行接口技术 1.2 RS-232C标准 1.2.1 RS-232C电气特性 1.2.2 RS-232C连接器机械特性 1.2.3 RS-232C的接口信号 1.2.4 RS-232C的通信方式 1.3 RS-422/RS-485标准 1.3.1 RS-422简介 1.3.2 RS-485简介 1.3.3 RS-...
通信
串口
模块常见
问题
解答
串行接口简称
串口
,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。在用
串口
模块的时长会遇到一些
问题
。但其实这些
问题
又不难,只是需要细心而已。下面就随着蓝牙模块厂家云里物...
接收机RS-232
串口
电路的控制
不过,在朋友们实际操作中时,常常会出现无法升级的现象,这一方面可能是软件的操作错误,另外一方面也涉及到4x0系列机RS-232
串口
电路上的
问题
,现在我们就深入谈谈RS-232串行接口电路的控制。 RS-232串行接口
单片机/工控
27,375
社区成员
28,769
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章