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 ではなく、代わりに「ù¶」です。なぜこれが起こっているのか誰か教えてもらえますか??
敬具
コーネル