1

私は ECR (Electronic Cash Register) デバイスを持っており、PC に接続するための RS-232 com ポート ケーブルを備えていますが、そのためのドライバーは提供されていません。デバイスを PC に接続しようとしていますが、PC がケーブルを検出できません。この RS-232 に接続されているこのデバイスを検出する方法は? Linuxで作業しています。デバイスを見つける方法について何か助けていただければ幸いです。

以下は、ボーレートと Com ポート番号に基づいてデバイスに接続するために C で見つけたコード スニペットです。

int OpenComport(int comport_number, int baudrate)

int SendByte(int comport_number, unsigned char byte)

int SendBuf(int comport_number, unsigned char *buf, int size)
4

3 に答える 3

0

1>ECR にはオペレーティング システムがないため、ドライバーは必要ないと思います。代わりに、ファームウェアが ECR にあり、Linux UART ドライバーと通信しようとします。

2> Rs-232は基本的にシリアルプロトコルです。つまり、9本のワイヤがあるため、9ピンのコネクタがDB-9コネクタに使用されます。プロセッサ内のすべての通信はパラレル形式であるため、UARTと呼ばれるチップが使用されます。すべてのパラレル データをシリアル データに変換します。データを Rs-232 形式で渡したいので、その形式でパッケージ化する必要があります。

3> Linux カーネルにはすでに uart ドライバーがあり、これは RS-232 用に実装されています。そのため、Linux 側のドライバーについて心配する必要があります。

4> 端末タイプ「dmesg | grep tty」を開きます (RS-232 ポート用の PC に ECR のみを接続します)。ttyS や ttyUSB などを返しますが、rs-232 ケーブルのみで接続している場合は ttyS に集中してください。

5> dmesg からの ttyS デバイスを確認したら、minicom (使いやすい) を使用してデバイスと通信します。

よろしく、 ズブラジ

于 2012-11-05T10:34:33.243 に答える
0

RS-232 について少し読む必要があると思います。それと、C プログラミングについても。RS-232 用のドライバはありません。これは非常に「ばかげた」プロトコルです。基本的には、ポートからデータを押し出すだけです。

PCがケーブルを認識できませんか?それはUSBではないからです。信じられないかもしれませんが、プラグ アンド プレイは常に存在していたわけではありません。デバイスが接続されていると思われるポートをソフトウェアに伝えると、それと通信しようとします。

さらに、それらは「コード スニペット」ではなく、単なる関数のプロトタイプです。そこには実際のコードはありません。

于 2012-11-05T06:46:21.277 に答える