这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 呵呵,STC内部RAM使用的问题解决了,跟大家来分享一下

共8条 1/1 1 跳转至

呵呵,STC内部RAM使用的问题解决了,跟大家来分享一下

助工
2008-12-11 15:49:22     打赏
STC单片机内部1024字节的ram使用起来非常简单,只要在编译时使用large模式就可以了。protues里面的方针可以使用相应的飞利浦的RD+系列的芯片代替。
重点是内部扩展ram的正确使用。我发现在protues里面放真成功的程序,在实际少些到片子上的时候就不能正常显示了。试试复位,也不行。试试把所有的变量在使用前都初始化。居然行了!猜测原因是扩展ram不能掉电自动清除内容,或者至少短时间内不能。所以要求使用扩展ram的变量在使用前必须全部初始化才行。包括局部变量。



关键词: 呵呵     内部     用的     问题     解决     大家     分享     一下    

高工
2008-12-11 23:18:52     打赏
2楼
不明白楼主的意思。只要是RAM,掉电之后数据肯定是丢失了,重新上电后,RAM中的数据都是毫无意义的“垃圾”(随机数据),你需要的数据当然要重新写入,根本不存在“自动清除”和“必须初始化”的说法。
从数字电路上说,RAM和寄存器都是掉电即失的,单片机的复位会初始化寄存器,但不初始化RAM。

高工
2008-12-11 23:19:51     打赏
3楼
如果我有哪里说得不正确的,欢迎楼主和各位一起讨论,共同学习。

助工
2008-12-16 17:50:59     打赏
4楼
我的意思是:
内部扩展ram在上电复位之后,内部数据不会清零。而片内的265字节的ram是可以的。因为我是初学者,所以没有很好的编程习惯。有时候变量定义了,也不初始化就用。而我以前都是用的片内的256字节ram,没有用过带内部扩展ram的单片机,所以没有遇到这个问题。

高工
2008-12-16 18:13:39     打赏
5楼
哦,原来是这个意思,呵呵。STC还是很实用的,比较便宜,功能也比Atmel的强。

菜鸟
2009-01-05 16:01:22     打赏
6楼

51单片机启动后一般会有段代码清零内部ram!这个你可以看kill生成的代码,而外部的ram并没有进行操作,因此应该是0xff,stc单片机使用的时候要注意的是xdata的定义和是否启用内部扩展的ram!我当时使用stc的时候也没有这么个问题,就是直接用,不过当时没有把重要变量放到xdata里呵呵


高工
2009-01-05 22:31:10     打赏
7楼
哦,原来如此。以前用的时候都没注意这些启动代码。只是我习惯性地为变量在需要的地方做初始化。

菜鸟
2009-02-13 09:54:24     打赏
8楼
原STC单片机生厂商 笙泉科技 Megawin_8051

0755-83479384 QQ :297753619 

联系我
帮你解决问题

共8条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]