熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
|
發(fā)布時(shí)間: 2020-7-21 17:03
正文摘要:程序如下,我使用的單片機(jī)有64字節(jié)RAM,這個(gè)程序卻需要133字節(jié)RAM,求解是程序本身這么大還是在哪里出了問(wèn)題? #include <reg51.h> #include "intrins.h" #define unchar unsigned char #define unint ... |
| 你設(shè)的都是長(zhǎng)整形啊 |
| 懂了,long變量占用太多字節(jié) |
| unsigned long idata WsDat[nWs]; |
| 這里有你要了解的內(nèi)容https://www.cnblogs.com/junglefish/p/5464100.html |
|
數(shù)據(jù)太大了 White 0xFFFFFF,這可是一個(gè)24位的數(shù)據(jù),參與運(yùn)算的話,就要用一個(gè)32位就是4個(gè)字節(jié)的空間 盡量使用占用空間小的數(shù)據(jù)類型 |
|
#define nWs 20 unsigned long idata WsDat[nWs]; 你看嘛,一個(gè)long是4字節(jié),這里有20個(gè)就80字節(jié)了 |
Powered by 單片機(jī)教程網(wǎng)