【发布时间】:2018-03-07 21:27:04
【问题描述】:
我正在尝试为 atmega328p micro 创建一个多线程内核,为此我需要知道它的堆栈指针是如何工作的。
【问题讨论】:
-
如果您向我们展示一些代码 sn-ps 和示例输入/输出,将会有所帮助。见stackoverflow.com/help/mcve
-
优化可能只为嵌套函数调用创建一个返回点。甚至内联所有这些...
-
我已经编辑以提高英语 - 请检查我没有破坏你的意思。我还更改了标签 - 语言不是那么重要(你会收到很多关于使用 both C 和 C++ 标签的回击),这方面的专家很可能是Arduino 专家,而不是 C 专家。如果你也想要一个语言标签,请选择一个,而不是两个。
-
/* 代码的输出是:8700 8700 8700 8700 正确的输出需要是:8700 8698 8696 8694 */ void func3() { Serial.println(SP); } void func2() { Serial.println(SP);函数3(); } void func1() { Serial.println(SP);函数2(); } void setup() { Serial.begin(9600);序列号.println(SP);函数1(); } 无效循环() { }
-
另问:forum.arduino.cc/index.php?topic=533773 如果您打算这样做,请考虑周到添加指向您交叉发布的其他地方的链接。这将使我们避免因重复工作而浪费时间,并帮助有相同问题并找到您的帖子的其他人发现所有相关信息。
标签: c++ arduino avr atmega avr-gcc