我正在尝试使用其中一个提供的编辑器Roberta(图形界面https://calliope.cc/)对新发布的Calliope迷你计算机平台(https://lab.open-roberta.org/)进行编程。
检查是否按下某个键并输出hello world消息的简单程序无法正常运行。同时,消息的直接输出起作用,输出和if语句使用"始终为真"条件(1 == 1)。
其他编辑器(例如https://miniedit.calliope.cc/)可以毫无问题地处理键输入,因此我可以排除任何硬件问题。
对我来说,似乎Roberta包含与if语句相关的密钥处理中的错误。
有没有人观察过类似的行为?
到目前为止,Roberta似乎还没有用户论坛。
附加截图和代码。 谢谢你的任何提示!
#define _GNU_SOURCE
#include "MicroBit.h"
#include <array>
#include <stdlib.h>
MicroBit uBit;
int initTime = uBit.systemTime();
int main()
{
uBit.init();
if ( uBit.buttonA.isPressed() ) {
uBit.display.scroll(ManagedString("Hallo"));
}
release_fiber();
}
答案 0 :(得分:3)
您应该将代码置于无限循环中:
int main()
{
uBit.init();
while ( true ) {
if ( uBit.buttonA.isPressed() ) {
uBit.display.scroll(ManagedString("Hallo"));
}
uBit.sleep(1);
}
release_fiber();
}