Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Arduino DUE使用的RAM的草图尺寸和数量超过Arduino MEGA 2560_Arduino - Fatal编程技术网

为什么Arduino DUE使用的RAM的草图尺寸和数量超过Arduino MEGA 2560

为什么Arduino DUE使用的RAM的草图尺寸和数量超过Arduino MEGA 2560,arduino,Arduino,有谁能告诉我为什么在相同的代码中,与Mega相比,due草图占用更多的RAM。我需要做一个分析 请帮助解决我的问题。这是因为他们有不同的微控制器:Arduino Mega 2560有一个8位AVR ATMega2560微控制器,Arduino Due有一个32位ARM Cortex-M3微控制器 RAM 8位体系结构中的变量小于32位体系结构中的变量。例如:int在Mega 2560中为2字节长,但在到期时为4字节长 正因为如此,一个即将发布的程序将比Mega 2560(以及任何其他基于ATMe

有谁能告诉我为什么在相同的代码中,与Mega相比,due草图占用更多的RAM。我需要做一个分析


请帮助解决我的问题。

这是因为他们有不同的微控制器:Arduino Mega 2560有一个8位AVR ATMega2560微控制器,Arduino Due有一个32位ARM Cortex-M3微控制器

RAM

8位体系结构中的变量小于32位体系结构中的变量。例如:
int
在Mega 2560中为2字节长,但在到期时为4字节长

正因为如此,一个即将发布的程序将比Mega 2560(以及任何其他基于ATMega的Arduino板,如Uno和Leonardo)中的程序使用更多的RAM

草图尺寸


原因与RAM类似:8位AVR体系结构中的大多数指令长度为16位,而ARM体系结构中的指令长度为16位,大多数指令都是32位长。

这是因为它们有不同的微控制器:Arduino Mega 2560有一个8位AVR ATMega2560微控制器,Arduino Due有一个32位ARM Cortex-M3微控制器

RAM

8位体系结构中的变量小于32位体系结构中的变量。例如:
int
在Mega 2560中为2字节长,但在到期时为4字节长

正因为如此,一个即将发布的程序将比Mega 2560(以及任何其他基于ATMega的Arduino板,如Uno和Leonardo)中的程序使用更多的RAM

草图尺寸

原因与RAM类似:8位AVR体系结构中的大多数指令长度为16位,而在ARM体系结构中,大多数指令长度为32位