打印
[STC单片机]

来来来,继续吐槽STC

[复制链接]
4485|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ff8zgs|  楼主 | 2014-2-21 17:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
今天调试代码又遇到问题了,本来好好的代码,突然开始出现开机1分钟以内一定死机现象。最开始怀疑我自己代码有问题,然后一点一点恢复成上午的代码,还是不行,然后再检查死机原因,发现跟定时中断0 有关系,原因未明。为了节省时间抱着试一试的想法换一个同型号的芯片,重新烧录代码。目前运行10多分钟,所有功能均正常。好在有前车之鉴,没有一点一点去排查死机原因。不然老子今晚又的加班。坑爹的STC。我估计STC单片机反复下载程序会出现这些奇奇怪怪的问题。在这里给还在使用STC单片机的工程师们一个建议,如果遇到诡异且想不明白的问题时,不妨换一个芯片试试,没准就解决了呢??
沙发
嵌入式云终端| | 2014-2-21 17:04 | 只看该作者
放弃STC已经N年了,有时候确实是莫名其妙,主要是大型任务的时候,盲编程是有安全隐患的,性价比已经不行了,用来入门学习还是可以的。

使用特权

评论回复
板凳
ff8zgs|  楼主 | 2014-2-21 17:11 | 只看该作者
嵌入式云终端 发表于 2014-2-21 17:04
放弃STC已经N年了,有时候确实是莫名其妙,主要是大型任务的时候,盲编程是有安全隐患的,性价比已经不行了 ...

唉,我也早想换了STM32的了,第一产品链决定了,一时半会换不了MCU,第二开发时间决定暂时还是只能用STC。其他单片机还得去适应学习。

使用特权

评论回复
地板
嵌入式云终端| | 2014-2-21 17:22 | 只看该作者
下点决心,很快就完事了,要不然,永远是在这个层次上

使用特权

评论回复
5
很忙| | 2014-2-21 17:28 | 只看该作者
我刚开始学习单片机呢,目前用的就是STC的,唯一遇到的问题是中断换不醒MCU。有时候是可以的。郁闷。

使用特权

评论回复
6
ningling_21| | 2014-2-21 18:46 | 只看该作者
很忙 发表于 2014-2-21 17:28
我刚开始学习单片机呢,目前用的就是STC的,唯一遇到的问题是中断换不醒MCU。有时候是可以的。郁闷。 ...

如果你用同样的程序,换成别的51单片机烧录进去,运行没有问题,就说明STC有问题...

使用特权

评论回复
7
沉默胜过白金| | 2014-2-21 18:55 | 只看该作者
前几天做串口通信的时候,实在是蛋疼,伯特利率设置的就是没问题,同样的程序,在不同的片子上,运行的不大一样,时行时不行。。。

使用特权

评论回复
8
autopccopy| | 2014-2-21 19:55 | 只看该作者
本帖最后由 autopccopy 于 2014-2-21 20:04 编辑

当吐槽成为时尚时,不如静下心来检查程序。:)

有空我也想吐槽“吐槽S*C的人”,在网上遇到太多了:不看数据手册,人云亦云,不自己检验,忽视其他因素,基础电子知识贫乏。总之一有问题就首先怀疑元件,也不试试用替换法去判断。
强烈建议去看看:坛友王玮的《感悟设计--电子设计的经验与哲理》和站长的的《匠人手记--一个单片机工作者的实践与思考》这两本书(我都是刚出版就买了正版书的),据对收益非浅。








不知LZ是用什么型号?不过正式产品就先检查自己的程序,新产品就看网站或数据手册的BUG报告。可能最后找到的问题就是低级错误。

(51)

使用特权

评论回复
9
yhn1973| | 2014-2-21 23:29 | 只看该作者
如果真是这样,估计STC早关门了,一家伙这么多芯片缺陷全让楼主赶上或发现了。

使用特权

评论回复
10
晓妖不成精a| | 2014-2-22 09:18 | 只看该作者
很忙 发表于 2014-2-21 17:28
我刚开始学习单片机呢,目前用的就是STC的,唯一遇到的问题是中断换不醒MCU。有时候是可以的。郁闷。 ...

不知道你用的是哪一款芯片

使用特权

评论回复
11
Simplue| | 2014-2-22 09:52 | 只看该作者
路过
呵呵
支持8楼

使用特权

评论回复
12
数传无线| | 2014-2-22 10:00 | 只看该作者
路过,我也顶8楼的!

使用特权

评论回复
13
batsong| | 2014-2-22 10:20 | 只看该作者
学个STM32一周时间也就够了的

使用特权

评论回复
14
mmtv0000| | 2014-2-22 12:20 | 只看该作者
頂8樓,好書

使用特权

评论回复
15
ff8zgs|  楼主 | 2014-2-22 14:04 | 只看该作者
本帖最后由 ff8zgs 于 2014-2-22 14:23 编辑
autopccopy 发表于 2014-2-21 19:55
当吐槽成为时尚时,不如静下心来检查程序。:)

有空我也想吐槽“吐槽S*C的人”,在网上遇到太多了:不看 ...

今天专门进行心来重新审视了下问题,我昨天的结论下的的确过于武断。今天把昨天换下的片子,也没有继续出现死机现象了,虽然很诡异。但的确是这样。因为时间关系,也没有继续深究,继续开发调试。然后发现代码中结构体指针成员值无论如何都不正确。又开始一点一点找问题。最终找到问题是在结构体指针初始化时我用的是malloc 函数,但是如果换成用结构体指针直接指向一个结构体那么有问题的结构体指针成员的也正常了。对比keil 编译信息发现 采用直接指向结构体的方式比采用malloc 的方式多10个字节ram占用。而我的结构体也正好是10个字节。那么原因基本一目了然,malloc函数并未成功申请到内存空间。同时我自己代码也未做任何判断。所以出现了结构体指针成员数值不正确。不知道我昨天的问题会不会和这个有关。 所以结构体指针初始化还是直接指向结构体最为安全合适。如果变量分配不了空间编译器至少还会报错。使用malloc函数,就不一定了。

使用特权

评论回复
16
dawei360| | 2014-2-22 16:43 | 只看该作者
貌似好没有发现LZ的问题,楼主再仔细检查下,你说的问题可能是你自己程序的问题。

使用特权

评论回复
17
coody| | 2014-2-22 16:57 | 只看该作者
如果STC的MCU问题那么多,早10年前就关了。。。。
不管用哪家的MCU,要认为找到其BUG,必须有严格的测试,并且所有IC都有一致性,才有这个可能。
对于那种换一个就出问题,换一个又出别的问题的,基本都是要么软件不好,要么硬件不稳定。
任何一家MCU推出市场,都会有比较多的测试,虽然不能保证MCU一定没有BUG,但至少推向市场的都是没有低级问题的。

使用特权

评论回复
18
gx_huang| | 2014-2-22 17:15 | 只看该作者
坚决反对动不动就怀疑芯片的态度。
经验表明,绝大部分是程序本身的问题。
特别是那些自认为C语言基础很高的人,但是对MCU资源不太了解的人。

使用特权

评论回复
19
weiyi192| | 2014-2-22 17:26 | 只看该作者
为啥那么多人用StC呀?连个仿真器都没有

使用特权

评论回复
评论
hp34401a 2014-2-28 21:38 回复TA
呵呵,STC15系列单片机有仿真器的。 
20
xiao_huang| | 2014-2-22 19:47 | 只看该作者
batsong 发表于 2014-2-22 10:20
学个STM32一周时间也就够了的

一周?

使用特权

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

本版积分规则

18

主题

199

帖子

1

粉丝