打印

再请教串口通信问题,关于使用串口助手的(郁闷,有新问题

[复制链接]
5232|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小心有毒|  楼主 | 2008-10-26 19:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本人最近在做一个作品,要用到电脑和单片机(华邦的w77e058)之间的通信,在使用串口助手时碰到下面一些问题想不透,希望能得到各位大侠的指点:像下图,如果我是只发关一个数时,单片机就能正常接收。

第一次串口助手发送 01
单片机能正常接收并显示 01
第二次发送 02
单片机同样能正常显示 02
第三次发送 03 
......
只要是一个一个地发单片机都能正常显示
发送一组就不行!!

相关帖子

沙发
小心有毒|  楼主 | 2008-10-26 20:06 | 只看该作者

续上

    但是如果发送一组数据时,则单片机接收时只有第一个数正确,其余的钱错了,如下图。

串口助手发关:01 02 03 04 05 06 
我单片机只接收其中四个数而已(由单片机程序决定),显示如下 :1 160 68 5

串口助手再发送一次 01 02 03 04 05 06 时
单片机显示:1 160 4 65 

第三次和第二次相同。

使用特权

评论回复
板凳
HotPower| | 2008-10-26 20:15 | 只看该作者

可能是单片机侧的波特率,应该如此调试

1.不要加单片机,将串口线接入PC
2.短路串口线的2,3脚。(自环测试)
3.在串口助手上写发送的一组字符
4.单击发送
5.在串口助手的接收区内显示正确的字符

这样证明了串口接对了,因为可能PC有多串口。

假若正确,则单片机程序必错!!!

一般为波特率不对~~~

使用特权

评论回复
地板
xwj| | 2008-10-26 20:29 | 只看该作者

1、检查波特率;2、检查数据位数;3、检查程序是否处理不

使用特权

评论回复
5
computer00| | 2008-10-26 20:44 | 只看该作者

可能是波特率不准,有误差,连续发送时有累计误差

也可能是程序处理的问题,速度太慢了,处理不过来。

使用特权

评论回复
6
小心有毒|  楼主 | 2008-10-26 21:37 | 只看该作者

谢谢各位

波特率我修改过了,如果换了一个别的波特率的话,收到的更是一踏糊涂,这能不能证明波特率没错呢?如果是处理不过来,请问这一般是硬件的速度不匹配还是软件设置得不合理呢?该如何解决呢?
谢谢各位相助!!

使用特权

评论回复
7
HotPower| | 2008-10-26 22:15 | 只看该作者

发送250个0x55即可知道波特率偏差~~~

使用特权

评论回复
8
小心有毒|  楼主 | 2008-10-27 11:04 | 只看该作者

关于速度不匹配问题

请问那位大侠有没有试过PC机直接与单片机通信呢?需要经过怎样的处理才能让它们速度匹配起来呢?我这里的现象是单片机发送给PC时电脑能处理,但电脑发送给单片机时好像单片机处理不过来一样。是不是电脑的速度太快了呢?它一下子就发完了,而单片机还没反应过来。

使用特权

评论回复
9
5880527| | 2008-10-27 18:33 | 只看该作者

9600的速度一字节都1ms了

再慢的程序都能处理过来。还是用那笨办法来寻找最适合的定时器重装值吧,单片机发送一组有特征的字符,把当前定时器器重装值也放后面一起发送出去,当调试助手显示正确的字符时记下字符后面的定时器重装值就可以了,如果连续几个值都可以,那就取中间一个

使用特权

评论回复
10
5880527| | 2008-10-27 18:34 | 只看该作者

不好意思,少了一句

每发送一组数据定时器重装值加1

使用特权

评论回复
11
小心有毒|  楼主 | 2008-10-27 22:35 | 只看该作者

问题解决了

    谢谢各位的帮助,虽然得不到最终解决问题的办法,但一样使我在无形中学到了不少东西。
    上述这个问题我于今天解决了,原因是:书上说模式3数据的帧格式是1位起始位,8位数据位(还有一种说法是9位),1位可编程位和1位停止位,所以在串口助手里我设置的数据位是8位(只有6,7,8可选),停止位是1,这样就出现了接收不了一组数据的情况,后来我把停止位改为2时(数据位不变,还是选8),发送后所有的都正确了。可能PC机把那一位可编程位当成停止位了,所以才会出现那种情况吧!

使用特权

评论回复
12
xwj| | 2008-10-31 12:54 | 只看该作者

还是错! 应该将检验位设为空(Space),就能正确接收了

2、检查数据位数;

使用特权

评论回复
13
小心有毒|  楼主 | 2008-10-31 22:25 | 只看该作者

郁闷,有新问题了

老板说不经过光耦隔离可能会导致其他问题,叫我一定要在单片机到75176一定要加光耦隔离,谁知一加上去就又通信不上了,但信号波形正常。郁闷到极点!!!

使用特权

评论回复
14
呆板书生| | 2008-10-31 23:29 | 只看该作者

估计是光藕的速度太慢

换慢的速度试一试,

不过也许是电路连接有问题

使用特权

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

本版积分规则

11

主题

37

帖子

0

粉丝