一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 9892|回复: 18
收起左侧

[其他综合] 求助:单片机串口通讯数据出错 (已经解决,谢谢各位了!)

  [复制链接]
发表于 2010-3-9 00:39 | 显示全部楼层 |阅读模式
本帖最后由 灰灰的丝丁鱼 于 2010-3-11 00:55 编辑

单片机是STC89C51RC的,晶振11.0592MHz,波特率9600,接收采用查询RI状态而非中断,单片机未开启任何中断,单片机由电脑的USB口供电,串口由MAX232CPE转换接电脑的9针插口;
在和上位机通讯时发现电脑接收的偶尔会出错,暂时不管,先看看单片机接收的,结果发现数据惨不忍睹,中间的数据基本上是每个数据后面跟了三个字节的0,由于是电脑和单片机软件同时写,只好借用串口监视软件检查问题所在(说实在,下载的ComSpy串口监视精灵很不好用,经常报错的不说,还发现漏监视的,所以对他并不信任),结果发现电脑发送的数据是正确的,应急在单片机程序里把多收的0全部清楚,结果发现单片机的数据有漏收的,还不少,在MCU的QQ群里求助,“一飞”和“y009”等朋友帮我分析,最终结果是先撇开一边的软件,借用串口调试助手来检查,刚才改写单片机程序,就是接收到的数据马上转发,结果问题来了,先是程序无法下载(单片机运行正常),换用wxf的编程器的232来下载(我把编程器的单片机串口端通过4根杜邦线引出来),结果还是不行,测单片机供电4.87V,单片机还在欢快地奔跑着,就是不让我下载(晶振之前有换过,只是是同一供应商同一批次的),现在的问题基本明了了,不是电压就是硬件问题了;
折腾了一阵子之后,单片机又对STC-ISP放行了,赶紧启动串口调试软件实验,发送“79”,接收正常,连续点击,结果发现问题了,返回的“79”经常有漏掉了,而且就单单漏“9”,那就试“97”,结果还是后面的漏掉了;      手工点击发送的速度远远低于正常的发送速度,看来有可能上位机软件是正常的,问题出在单片机这端,尤其是刚刚遇到拒绝下载的事情;
由于无法下载仅仅遇到一次,也不知是不是电压引起的,想问问大家,4.87V对于串口读取是否不够?(单片机程序绝对在正常运行)目前一时之间还找不到合适的5V电源外加,等明早了,在此就先发帖问问;串口MAX232的供电和单片机一起都是USB供给的,在不能下载程序时,点击串口调试助手的“发送”按钮,wxf编程器的红灯有闪烁(数据指示灯),是不是说明232的工作是正常的?还是说也可能是232不工作?
发表于 2010-3-9 04:19 | 显示全部楼层
差这么点电压都不行呀?
发表于 2010-3-9 09:04 | 显示全部楼层
足够, stc的5v单片机 我用3v 下载通讯完全没问题。
发表于 2010-3-9 09:08 | 显示全部楼层
换根下载线试试。
发表于 2010-3-9 09:28 | 显示全部楼层
STC的单片机,下载时电压低,会出错
我用STC12C5A60S2时,如果电压低到4V以下
可以下载,但最后校验不过

但使用起来没问题,我用了两个串口呢.
不过我是用中断接收的,

STC下载程序里就带了串口助手,我用了,还不错
发表于 2010-3-9 09:31 | 显示全部楼层
我用单锂电工作的,4.87肯定电压够了.

建议你把程序贴上来看看,

我觉得还是程序有问题,怀疑查询间隔太久
发表于 2010-3-9 10:17 | 显示全部楼层
搭车问个问题:用max3241 (相当于max232) 搭了一个下载线, stc的单片机无法下载, 但用来串口通讯却毫无问题,这是咋回事尼, 单片机无问题,换个下载线就能正常下载。
 楼主| 发表于 2010-3-9 11:01 | 显示全部楼层
搭车问个问题:用max3241 (相当于max232) 搭了一个下载线, stc的单片机无法下载, 但用来串口通讯却毫无 ...
老弹弓 发表于 2010-3-9 10:17 https://www.yleee.com.cn/images/common/back.gif



    谢谢大家的帮助!

看来你的情况有可能和我一样了,我早上起来,找出老王的5V电源,测量电压5.17V,就接上取代USB的取电,初始结果还是一样,ISP程序无法下载,试了多次还是一样(这是第3 条下载线),考虑到昨晚也试了两种下载线都不行的,这回换晶振和电容试试(这次的晶振和电容不是同一个厂家的),结果还是不行,试了多次才逐渐正常(有时可以下载有时不行,有时下载完毕但是程序错乱),我怀疑会不会是单片机的质量问题,因为之前曾在网上看到多年前的一个帖子,说是STC的质量不好,怕潮,他们做产品的年用量上万,结果几年后陆续返修,都是单片机问题,重写程序就正常(也有的无法重新下载,但是重新写引导程序后就可以了);而我这这几天也在一直下雨,所以担心会不会是单片机的问题,只是我原先的AT89S51好像都坏了,不然换这种试试,现在只有先找别的单片机代替试试了
发表于 2010-3-9 11:07 | 显示全部楼层
找个吹风机吹一吹,呵呵.
 楼主| 发表于 2010-3-9 11:43 | 显示全部楼层
吹风机是短时间的,一般来说是没有效果的(如果有效果,那么STC的单片机也不会等几年后才出问题了,好歹也是有封装的啊),他们是用烘箱长时间烘干的;

刚才的结果:就连丁丁的串口软件也是不可靠,还是后面的一个字符丢失,无意中勾选了以HEX格式发送,结果发送“79”,每次都能收到“y”,这说明发送接收是正常的,是串口调试软件的回显来不及,看来要串口调试,还得找一款确实好用的软件才行,否则是大走冤枉路啊

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-6-11 14:46 , Processed in 0.075832 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表