Micro:位串行读取

时间:2018-02-06 16:45:26

标签: c++ c serial-port screen bbc-microbit

我有以下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 serial ls /dev/tty.*,结果如下:

/dev/tty.usbmodem1422

所以我尝试以下方法:

screen /dev/tty.usbmodem1422

然后我按下micro:bit中的一些按钮但是终端上出现了nothings。我缺少什么?

1 个答案:

答案 0 :(得分:0)

一切都是正确的。我唯一想到的是波特(https://www.microbit.co.uk/td/serial-library)。通过屏幕命令的以下更正,它可以完美地工作:

sudo screen /dev/tty.usbmodem1422 115200

enter image description here