打印
[AVR单片机]

atmega128出现的问题

[复制链接]
3215|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
最近出现的一个很诡异的现象,也不知道是什么问题:
现象:单片机是atmega128A,产品下载好程序以后,当时没事儿,过段时间,有些个别的产品就出现了问题,也可以通讯,但是通讯的数据不对,感觉像是波特率错了一样,然后再下载一回程序以后又好了,现在弄不清是什么问题。有没有可能是硬件问题呢?还是说没有有效复位,我把复位电路和通讯电路贴出来

232.jpg (93.99 KB )

232.jpg

复位.jpg (41.98 KB )

复位.jpg

相关帖子

沙发
nickqi| | 2013-5-9 14:17 | 只看该作者
什么产品呢,公司是跟代理商合作的吗,是的话找代理商FAE 啊

使用特权

评论回复
板凳
qin552011373| | 2013-5-10 09:47 | 只看该作者
nickqi 发表于 2013-5-9 14:17
什么产品呢,公司是跟代理商合作的吗,是的话找代理商FAE 啊

这是个好办法

使用特权

评论回复
地板
airwill| | 2013-5-10 12:19 | 只看该作者
感觉像是波特率错了一样,

我感觉遇到问题不怕, 就怕你不用心. "感觉象是", 就是说明你没有用心. 波特率错误完全可以用工具轻松检测出来.
波特率变化的这种情况其实极少见. 这个问题很可能反映出你的通信及协议里的缺陷!

使用特权

评论回复
评分
参与人数 1威望 +4 收起 理由
qin552011373 + 4 很给力!
5
yushiqian2012|  楼主 | 2013-5-10 20:01 | 只看该作者
airwill 发表于 2013-5-10 12:19
感觉像是波特率错了一样,

我感觉遇到问题不怕, 就怕你不用心. "感觉象是", 就是说明你没有用心. 波特率错 ...

我没有不用心,我说的是像是波特率错,我每个波特率都试过,不通信的

使用特权

评论回复
6
zdl522| | 2013-5-10 20:14 | 只看该作者
用的内部时钟还是外部时钟

使用特权

评论回复
7
qin552011373| | 2013-5-11 21:36 | 只看该作者
不稳定是电子产品的大忌

使用特权

评论回复
8
airwill| | 2013-5-12 21:27 | 只看该作者
可以通过示波器捕捉一个通信波形来验证波特率嘛

使用特权

评论回复
9
yushiqian2012|  楼主 | 2013-5-14 22:31 | 只看该作者
airwill 发表于 2013-5-12 21:27
可以通过示波器捕捉一个通信波形来验证波特率嘛

?、这咋做?

使用特权

评论回复
10
airwill| | 2013-5-14 22:42 | 只看该作者
发数据, 示波器捕捉下来, 测脉冲时间计算出波特率

使用特权

评论回复
11
airwill| | 2013-5-14 22:42 | 只看该作者
发数据, 示波器捕捉下来, 测脉冲时间计算出波特率

使用特权

评论回复
12
yushiqian2012|  楼主 | 2013-5-14 23:30 | 只看该作者
airwill 发表于 2013-5-14 22:42
发数据, 示波器捕捉下来, 测脉冲时间计算出波特率

哦,多谢,我明天试一试

使用特权

评论回复
13
yushiqian2012|  楼主 | 2013-6-17 20:39 | 只看该作者
解决了,原来是EEPROM的问题。
在EEPROM里面我放置了一套控制表,如波特率、ID号等重要信息,但是EEPROM的操作我没有做好,我上网查找了一下AVR的EEPROM的问题,大家普遍都这么反应。随后,我就做了一系列的措施,首先,我在EEPROM里面开辟了一个备份区,然后这两个存储的地方都添加了校验,校验我选择的是CRC16校验方式。单片机上电以后,经过第一次上电后的预设控制表,以后就在EEPROM里面读取控制表,并检查校验,如果主存储不对,那么就在备份区里面读,备份区也不对的话,那么就进行从FLASH里面进行控制表的预设。
这样做了以后,还没有坏过,通讯一直很顺畅,但是,心里面还是有点忐忑,害怕客户那里再反应产品不行,再不行,只能用铁电存储器了:lol

使用特权

评论回复
14
宇容创行| | 2013-6-17 22:06 | 只看该作者
内置的EEPROM 没那么脆弱,lz软件不大合理吧

使用特权

评论回复
15
huangxz| | 2013-6-17 22:22 | 只看该作者
yushiqian2012 发表于 2013-6-17 20:39
解决了,原来是EEPROM的问题。
在EEPROM里面我放置了一套控制表,如波特率、ID号等重要信息,但是EEPROM的 ...

楼主所描述的解决与主题所描述的好像有出入,你说的是重新烧一遍,并没有说eeprom也重新烧啊

使用特权

评论回复
16
yushiqian2012|  楼主 | 2013-6-17 23:12 | 只看该作者
宇容创行 发表于 2013-6-17 22:06
内置的EEPROM 没那么脆弱,lz软件不大合理吧

没那么脆弱,但是确实是这个问题,没有办法,呵呵

使用特权

评论回复
17
yushiqian2012|  楼主 | 2013-6-17 23:13 | 只看该作者
huangxz 发表于 2013-6-17 22:22
楼主所描述的解决与主题所描述的好像有出入,你说的是重新烧一遍,并没有说eeprom也重新烧啊 ...

因为下载完程序以后,第一次运行的时候要往EEPROM里面写入控制参数的

使用特权

评论回复
18
yushiqian2012|  楼主 | 2013-6-17 23:14 | 只看该作者
huangxz 发表于 2013-6-17 22:22
楼主所描述的解决与主题所描述的好像有出入,你说的是重新烧一遍,并没有说eeprom也重新烧啊 ...

因为EEPROM里面的数据是要变化的,这样才能满足客户的需要改变波特率等

使用特权

评论回复
19
qin552011373| | 2013-6-18 21:40 | 只看该作者
结贴散分吧

使用特权

评论回复
20
yushiqian2012|  楼主 | 2013-6-20 15:33 | 只看该作者
qin552011373 发表于 2013-6-18 21:40
结贴散分吧

稍安勿躁

使用特权

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

本版积分规则

个人签名:不需要别人来证明自己,自己的态度更重要

45

主题

354

帖子

0

粉丝