1

Beaglebone black のシリアル ポートを有効にしようとしていて、TX を RX に接続しました。テストプログラムを書きました。その中で、 C でシリアルポートを開き、読み書きする方法で見つけたヘルプに従って、シリアルポートを 1152000 ボーに設定し、パリティなしに設定しました。以下は私の主な機能です:

int main(void)
{
    char *portname = "/dev/ttyO4";

    int fd = open (portname, O_RDWR | O_NOCTTY | O_SYNC);
    if (fd < 0)
    {
        printf ("error %d opening %s: %s", errno, portname, strerror (errno));
        return 0;
    }

    set_interface_attribs (fd, BAUD_RATE, 0);
    set_blocking (fd, 0);

    while (true)
    {
        write (fd, "Hello!\n", 7);
        char buf [100];
        int n = read (fd, buf, sizeof buf);
        std::cout << buf;
        std::cout.flush();
        sleep(1);
    }

    return 0;
}

実行すると、シリアルポート RX で何かを読み取りましたが、hello ではなく、代わりに「ù¶」です。なぜこれが起こっているのか誰か教えてもらえますか??

敬具

コーネル

4

0 に答える 0