char a [1000]; //控制器接受它 而声明char [2000];意味着它没有显示空间......
而使用const char a [6000]; //接受编译器没有显示错误执行
任何人都请解释一下..
答案 0 :(得分:1)
没有const
的变量必须放在RAM中,因为它们是可变的。
const
的变量可以放在ROM(通常是Flash或EEPROM)中,因为它们无法更改。
您的微控制器似乎没有为char a[2000];
获得足够的RAM内存,这就是它失败的原因。记住你还需要堆栈的RAM内存。