シリアル通信初心者です。プロジェクトでは、自動販売機用のソフトウェアを開発する必要があります。自動販売機は、基本的にホスト コンピューター (Windows XP マシン) とさまざまな周辺機器で構成されます。これらの周辺機器の 1 つがコイン アクセプターです。自動販売機のドキュメントによると、ホスト コンピューターはシリアル ポートを使用してコイン アクセプターと通信します。私が持っている唯一のドキュメントは、「Multi-Drop Bus / Internal Communication Protocol」と呼ばれるこのドキュメントです (私が持っているバージョンはここにあります: http://www.coin-acceptor.com.cn/Upload/EditorFiles/technicalfile/Mdb_version_4 -2.pdf )。
ドキュメントによると、9600 のボーレート、1 スタート ビット、1 ストップ ビット、1 モード ビット、および 8 データ ビットを使用してシリアル ポート接続を作成する必要があるようです (リンクされたドキュメントの 29 ページ)。自動販売機のドキュメントには、コイン アクセプターが COM ポート 6 にあると記載されています。HyperTerminal と Putty を使用して、このような接続を作成しようとしました。私の最初の質問は次のとおりです。
- この MDB 'プロトコル' をサポートするデバイスへの接続を正しく作成するにはどうすればよいですか? Putty と HyperTerminal では、「モード ビット」を設定できません。このドキュメントには、フロー制御とパリティ ビットに関する記述はありませんでした。Putty または HyperTerminal を使用してこれを行うことはできますか? それとも、MDB 経由で通信するために他のツールが必要ですか?
2 番目の質問は、デバイスにコマンドを送信する方法についてです。コマンドを調べたところ、RESET コマンドがありました。ドキュメントによると、RESET コマンドを受信すると、デバイスは自身をリセットし、ACK で応答する必要があります。ドキュメントの 33 ページと 63 ページによると、コイン アクセプタに RESET コマンドを送信したい場合は、シリアル ラインで HEX 値 08H を送信できます。33 ページには、コイン チェンジャーがアドレス 08H から 10H に送信されたコマンドをリッスンすることが記載されています (ドキュメントを正しく解釈している場合)。ページ 63 には、RESET コマンドが 08H でデータ バイトがないと記載されています。パテに「08H」と入力して「Enter」を押すだけでいいですか?このコマンドをデバイスに送信するには? または、このコマンドをシリアル回線経由でデバイスに送信するにはどうすればよいですか? これは正しいアプローチですか、それとも完全に間違った場所を探していますか? 自動販売機のドキュメントには、コインアクセプター用のこのドキュメントのみが含まれています。お手伝いありがとう!
敬具
クリス