UARTオスインターフェイスを備えたバーコードリーダーは、Ubuntu 10.10デスクトップのシリアルポート経由で接続されています。独自のreadmeドキュメントから、私が送るコマンドのためにデバイスからACKかNAKを得るためにACK/NAKハンドシェークを有効にしなければならないことを知りました。私はLinux環境でCシリアルポートプログラミングを使用してそれらを有効にする方法がわかりません。UARTシリアルポート通信のACK/NAKハンドシェイクを有効にします。
誰かがこれにいくつかの光を投げることができますか?
UPDATE:
はソフトウェアハンドシェイクを有効にするには、次のでした - スピードを設定
system ("stty ixon -ixoff -F /dev/tty");
bzero (shcmd, 64);
sprintf (shcmd, "stty ixon -ixoff -F %s", UART_DEVICE);
system (shcmd);
から
system("stty speed 9600");
bzero (shcmd, 64);
sprintf (shcmd, "stty speed 9600 -F %s", UART_DEVICE);
system (shcmd);
コマンドを書いた -
unsigned char req_rev[6] = {0x05,0xA3,0x04,0x00,0xFF,0x55};
n = write(fd, req_rev, 6);
読む -
int n = read(fd, result, 254);
しかし、私が得た "EGAIN" 読みながら毎回。なぜ私はそれを得る任意のアイデア?
ご回答ありがとうございます。その方向に進みましょう。 –