任何人都可以告诉我为什么由于相同的代码,与Mega相比,正确的草图占用更多的RAM。我需要做一个分析。
请帮助我解决问题。
答案 0 :(得分:4)
这是因为他们有不同的微控制器:Arduino Mega 2560有一个8位AVR ATMega2560微控制器,而Arduino Due有一个32位ARM Cortex-M3微控制器。
<强> RAM 强>
8位体系结构中的变量比32位体系结构中的变量小。例如:int
在Mega 2560中长2个字节,但在Due中长4个字节。
因此,Due中的程序将使用比Mega 2560中的程序(以及任何其他基于ATMega的Arduino板,如Uno和Leonardo)更多的RAM。
草图尺寸
原因类似于RAM:8位AVR架构中的大多数指令长度为16位,而在ARM架构中,大多数指令长度为32位。