1

USB/シリアル アダプタを介して Mac に接続されているデバイス (ZVT-ECash ターミナル) と通信する Xojo アプリを作成しようとしています。

OS X と Windows 7 (Parallels で実行) でアプリをテストしています。どちらの場合も、Serial.Write を介して文字列 (常に同じもの) を次のように送信しています。

command = chrb(&h10) + chrb(&h02) + chrb(&h06) + chrb(&h00) +chrb(4)...
Serial1.Write(command)

Serial1 はシリアル コントロールのインスタンスです。

この文字列は、Windows でアプリを実行するとデバイスによって有効なコマンドとして認識されますが、OS X では認識されません (デバイスは NAK で応答します)。

OS XI では、CoolTerm を使用して同じ文字列を手動で送信しようとしましたが、どちらも確認されませんでした。

私は何を間違っていますか?Xojo のシリアル コントロールに問題がありますか? また、Windows と OS X でシリアル ポートの動作に一般的な違いはありますか?

4

1 に答える 1

1

最近、私自身も同様の問題に遭遇しました。Xojo とは何の関係もないことが判明しました (CoolTerm も Xojo で作成されていますが)。

問題は、「2303」Prolific チップを使用しているアダプタの OS X ドライバにありました。Prolific のドライバーとオープン ソース バージョン (osx.pl2303) の両方に問題があることがわかりました。私の解決策は、 https://www.mac-usb-serial.comからドライバーを購入することでした。これは、2 つの異なる 2303 ベースのアダプターを備えた OS X で動作する唯一のドライバーでした。

于 2015-06-11T14:03:22.597 に答える