打印

串口接收为什么要发送两次?困扰几天了

[复制链接]
2134|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wtt1314|  楼主 | 2007-1-25 11:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近又碰见很郁闷的事情了,实在是想不通了?麻烦各位哥哥姐姐指点一下我!将不胜感激....
问题时这样的:我从串口接收到一串字符abc,将字符存在缓存数组buf,然后再将字符放在接收数组recbuf内,然后,我要将recbuf内的字符在发送出去,在调试这里的时候,就必须用串口调试工具模拟发送两次才能将abc发送出来,真的很想不明白。buf是直接从SBUF读入的。
        for (;ptr1!=ptr2;)
        {
        char ch=buf[ptr2++];
    
        if (ptr2>=BUFLEN)
        {
            ptr2=0;
        }
        for (n=0;n<RECLEN-1;n++)
        {
            recbuf[n]=recbuf[n+1];
        }
        recbuf[RECLEN-1]=ch;
我真的不知道该怎么办了?,在线等待帮助....

相关帖子

沙发
wtt1314|  楼主 | 2007-1-25 11:49 | 只看该作者

老师们,怎么没人回我啊?

使用特权

评论回复
板凳
zhaoyu2005| | 2007-1-25 19:34 | 只看该作者

你的程序我没看懂,估计是逻辑方面的问题

既然能接收到,还能发送,说明串口的设置正确,剩下就是检查你的if和for
方面的逻辑问题了

使用特权

评论回复
地板
zoupeng139| | 2007-1-25 21:53 | 只看该作者

接收abc是一次性接收么 ?

会不会是没来得及读走的 问题?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

75

帖子

0

粉丝