У меня есть следующий код для Micro: Bit:
void onButtonA(MicroBitEvent e)
{
int x = uBit.accelerometer.getX();
int y = uBit.accelerometer.getY();
int z = uBit.accelerometer.getZ();
uBit.display.print("A");
uBit.serial.printf("Button: A \r\n x:%i y:%i z:%i \r\n",x,y,z);
}
void onButtonB(MicroBitEvent e)
{
int x = uBit.accelerometer.getX();
int y = uBit.accelerometer.getY();
int z = uBit.accelerometer.getZ();
uBit.display.print("B");
uBit.serial.send(""Button: B \r\n x:%i y:%i z:%i \r\n",x,y,z");
}
int main()
{
uBit.messageBus.listen(MICROBIT_ID_BUTTON_A, MICROBIT_BUTTON_EVT_CLICK, onButtonA);
uBit.messageBus.listen(MICROBIT_ID_BUTTON_B, MICROBIT_BUTTON_EVT_CLICK, onButtonB);
uBit.display.print("S");
uBit.serial.send("Starting Micro:Bit Program \r\n");
release_fiber();
}
Это должно написать в серийном.
На моем MacBook я проверяю серийный USB ls /dev/tty.*
со следующим результатом:
/dev/tty.usbmodem1422
Поэтому я пробую следующее:
screen /dev/tty.usbmodem1422
Затем я нажимаю несколько кнопок из микро: бит, но на терминале не появляется ничего. Что мне не хватает?
Там было все правильно. Единственное, что мне не хватало, это бод (https://www.microbit.co.uk/td/serial-library). Со следующей коррекцией на экране команда работает отлично:
sudo screen /dev/tty.usbmodem1422 115200
Других решений пока нет …