天堂之泪 发表于 2019-12-8 11:07:25

STC15W408AS内部RAM空间容量疑问

STC15W408AS这款单片机说有256字节的idata和256 字节的xdata

手册里有关于RAM的说明


它是指我有纯256字节的idata可用吗?SFR那些会占用多少?因为我的程序出现一些莫名奇妙的问题,大伙看看我的RAM空间使用是不是超了?


这图是说我还有256-183=73字节的idata空间可用吗?

foxpro2005 发表于 2019-12-8 11:40:08

你都快把RAM榨干了, 叫stack或heap怎么办?
能局部变量的,尽量局部变量,是bit的尽量bit

xunke 发表于 2019-12-8 11:42:57

程序能正常运行吗?

wye11083 发表于 2019-12-8 20:07:39

foxpro2005 发表于 2019-12-8 11:40
你都快把RAM榨干了, 叫stack或heap怎么办?
能局部变量的,尽量局部变量,是bit的尽量bit
...

昨天看到有人说51是没有stack的。。编译器可以配置成无stack模式。

polarbear 发表于 2019-12-8 20:18:49

wye11083 发表于 2019-12-8 20:07
昨天看到有人说51是没有stack的。。编译器可以配置成无stack模式。

51的STACK只能在 idata 内分配,不能使用外部扩展RAM;

天堂之泪 发表于 2019-12-9 08:01:41

foxpro2005 发表于 2019-12-8 11:40
你都快把RAM榨干了, 叫stack或heap怎么办?
能局部变量的,尽量局部变量,是bit的尽量bit
...

这样阿,我尽量按你意思做。

kap 发表于 2019-12-9 10:37:30

stack太浅程序嵌套多的话很容易跑飞

takashiki 发表于 2019-12-9 10:46:37

wye11083 发表于 2019-12-8 20:07
昨天看到有人说51是没有stack的。。编译器可以配置成无stack模式。

无stack,函数调用怎么搞,中断怎么搞,SP要了有何用

makesoft 发表于 2019-12-10 06:52:21

183data,栈都是在最上面,空间还多着呢,放心用。

小李非刀 发表于 2019-12-20 17:15:44

一般不data(包括idata)超过200个就要注意了,181个还不用担心,除非你的函数调用层数很多。
页: [1]
查看完整版本: STC15W408AS内部RAM空间容量疑问