Ошибка в заявлении о программировании на языке роберта в Calliope mini?
Я пытаюсь программировать на недавно выпущенной компьютерной мини-платформе Calliope ( https://calliope.cc/), используя один из предлагаемых редакторов Roberta, графический интерфейс ( https://lab.open-roberta.org/).
Простая программа, которая проверяет, нажата ли клавиша и выводит ли привет сообщение, не работает должным образом. В то же время работает прямой вывод сообщения, а также вывод и оператор if, который использует условие "всегда верно" (1==1).
Другие редакторы, такие как 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();
}
1 ответ
Вы должны поместить свой код в бесконечный цикл:
int main()
{
uBit.init();
while ( true ) {
if ( uBit.buttonA.isPressed() ) {
uBit.display.scroll(ManagedString("Hallo"));
}
uBit.sleep(1);
}
release_fiber();
}