yirenonege 发表于 2012-9-4 15:14:22

stc12c5a60s2 调用内部扩展ram的方法分享

程序越写越大,RAM就用着用着用光了,在变量前加上xdata关键词就把数据存到内部扩展的1K的RAM


xdataunsigned charsample;

linucos 发表于 2012-9-4 15:22:36

顶顶你,看你很兴奋啊!

yirenonege 发表于 2012-9-4 15:33:04

linucos 发表于 2012-9-4 15:22 static/image/common/back.gif
顶顶你,看你很兴奋啊!

要是为解决这个心里乐开了花岂不是有点掉价{:titter:}

longwu911 发表于 2012-9-4 15:39:56

楼主很幽默!

linucos 发表于 2012-9-4 15:42:21

longwu911 发表于 2012-9-4 15:39 static/image/common/back.gif
楼主很幽默!

{:lol:} {:lol:} {:lol:} {:lol:}

XA144F 发表于 2012-9-4 16:06:50

当我第一次看到STC89C52的时候,我就想到这么做了……嗯……我想想,过去几年了?

ds168 发表于 2012-9-4 16:24:24

顶顶顶顶你

liangws201 发表于 2012-9-5 10:32:01

unsigned char xdata sample; 有什么不一样的吗?

yirenonege 发表于 2012-9-5 11:57:01

liangws201 发表于 2012-9-5 10:32 static/image/common/back.gif
unsigned char xdata sample; 有什么不一样的吗?

这个会把开辟的内存分配到片上ram中,实际上51单片机接外部ram时使用xdata 将变量分配到外部ram中,stc是相当于片上集成了外接的ram。ram不够用了,就可以调用那片集成的RAM了。

Garbage614 发表于 2012-9-5 12:42:43

这个貌似在数据手册里写的很清楚

Yanna 发表于 2012-9-5 17:08:46

yirenonege 发表于 2012-9-5 11:57 static/image/common/back.gif
这个会把开辟的内存分配到片上ram中,实际上51单片机接外部ram时使用xdata 将变量分配到外部ram中,stc是 ...

没明白过来,能说的具体点吗~~

codefish 发表于 2012-9-5 17:36:49

呵呵。早就这么用了!

yirenonege 发表于 2012-9-5 17:42:05

Yanna 发表于 2012-9-5 17:08 static/image/common/back.gif
没明白过来,能说的具体点吗~~

局部变量的使用的RAM空间使用完就会回收,而全局的则一直不会被释放。51单片机自身有256个字节的RAM,要开辟大的缓冲区这些RAM不够用时,使用片外扩展ram的方法,但是stc的单片机相当于把这片ram集成到了单片机上,使用关键字xdata定位到那里。

Yanna 发表于 2012-9-6 09:07:48

yirenonege 发表于 2012-9-5 17:42 static/image/common/back.gif
局部变量的使用的RAM空间使用完就会回收,而全局的则一直不会被释放。51单片机自身有256个字节的RAM,要 ...

这个明白,我是想问xdata 放到定义的前面和后面,它的区别是什么~
页: [1]
查看完整版本: stc12c5a60s2 调用内部扩展ram的方法分享