roberta 语言编程 Calliope mini 的 if 语句中的错误?
Bug in if statement of roberta language programming a Calliope mini?
我正在尝试在新发布的 Calliope 迷你计算机平台 (https://calliope.cc/) using one of the offered editors Roberta, a graphical interface (https://lab.open-roberta.org/) 上编程。
检查是否按下某个键并输出 hello world 消息的简单程序无法正常运行。同时,消息的直接输出以及使用 "always true" 条件 (1==1) 的输出和 if 语句都有效。
其他编辑器如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();
}
您应该将您的代码放入无限循环中:
int main()
{
uBit.init();
while ( true ) {
if ( uBit.buttonA.isPressed() ) {
uBit.display.scroll(ManagedString("Hallo"));
}
uBit.sleep(1);
}
release_fiber();
}
我正在尝试在新发布的 Calliope 迷你计算机平台 (https://calliope.cc/) using one of the offered editors Roberta, a graphical interface (https://lab.open-roberta.org/) 上编程。
检查是否按下某个键并输出 hello world 消息的简单程序无法正常运行。同时,消息的直接输出以及使用 "always true" 条件 (1==1) 的输出和 if 语句都有效。
其他编辑器如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();
}
您应该将您的代码放入无限循环中:
int main()
{
uBit.init();
while ( true ) {
if ( uBit.buttonA.isPressed() ) {
uBit.display.scroll(ManagedString("Hallo"));
}
uBit.sleep(1);
}
release_fiber();
}