1

我正在尝试使用提供的编辑器之一 Roberta,图形界面 ( https://lab.open-roberta.org/ ) 在新发布的 Calliope 迷你计算机平台 ( https://calliope.cc/ ) 上进行编程。

检查是否按下某个键并输出 hello world 消息的简单程序无法正常运行。同时,消息的直接输出以及使用“始终为真”条件 (1==1) 的输出和 if 语句都有效。

其他编辑器如https://miniedit.calliope.cc/可以毫无问题地处理按键输入,因此我可以排除任何硬件问题。

对我来说,罗伯塔似乎在与 if 语句相关的密钥处理中包含一个错误。

有没有人观察到类似的行为?

到目前为止,罗伯塔似乎还没有用户论坛。

附上截图和代码。感谢您的任何提示!

#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();
} 

图形 IDE 中的示例代码

4

1 回答 1

3

您应该将代码放入无限循环中:

int main() 
{
    uBit.init();

    while ( true ) {
        if ( uBit.buttonA.isPressed() ) {
            uBit.display.scroll(ManagedString("Hallo"));
        }
        uBit.sleep(1);
    }
    release_fiber();
}
于 2017-06-29T19:08:43.680 回答