http://wenku.baidu.com/link?url=Z2D01xtYzwNpftsXHH3TtIl7OmXUpIC1y-LBQHgjP3GztbQ34di1AOOs0cZEcXyxuoyBqXs-HNX8sx4enqi0O0PWeVNmI9I85Wwf9Tqm743
由于每一次调用被reentrant声明的函数都要把函数的参数和内部变量压栈,所以很容易使堆栈区溢出,S52只有256Bytes的data段,一个简单的函数如果有一个参数三个内部变量,则需要压栈4字节以上,这还不包括函数调用堆栈. reentrant其实并不是适合低端的单片机,keil论坛上有人说对于那些有KB以上RAM的单片机reentrant才适合
BUTCHER提到的问题我一直很奇怪自己怎么没有出现,仔细检查代......
阅读全文