32单片机(堆栈溢出的原因)
我认为造成单片机栈溢出最重要的原因是我们的编程有问题,就是在编程的初始阶段没有足够的空间留给栈,一旦栈溢出,程序一般会随机引用,也就是我们所说的程序耗尽。一般我们是不允许这种现象的,所以我们在设计程序的时候,一定要先在内部ram中打开一个连续的地址作为堆栈使用,并且只允许通过PUSH和POP指令来访问,注意每次访问堆栈后不要让堆栈溢出。
个人理解,呵呵。如果有什么错误或者不理解的地方,我们会一起沟通,一起进步。
我认为造成单片机栈溢出最重要的原因是我们的编程有问题,就是在编程的初始阶段没有足够的空间留给栈,一旦栈溢出,程序一般会随机引用,也就是我们所说的程序耗尽。一般我们是不允许这种现象的,所以我们在设计程序的时候,一定要先在内部ram中打开一个连续的地址作为堆栈使用,并且只允许通过PUSH和POP指令来访问,注意每次访问堆栈后不要让堆栈溢出。
个人理解,呵呵。如果有什么错误或者不理解的地方,我们会一起沟通,一起进步。