• 締切済み

PIC-PCシリアル通信プログラム

PICとPCでRS232のシリアル通信を行おうとしているんですけれど、 PICからPCに文字列を送ろうと たとえば PIC側からプログラムで puts("A\0");とデータを送信して ReadFile()関数でPC側で受信しているんですけれど、 受信したデータを画面表示されると Aフフフフフフフフフフフフフフフフフフフフフフフフと表示されてしまいます。 ちなみに送信データをNULLだけにしても フフフフフフフフフフフフフフフフフフフフフフフフフを表示されます。 これを解決する方法がわかりません。 どなたか教えてください。

みんなの回答

  • salsberry
  • ベストアンサー率69% (495/711)
回答No.3

まずはPC側のソフトウェアを実績のあるものにしてPIC側をデバッグすべしというANo.2さんの回答に一票。 あと、基本の基本ですがRS-232Cの通信パラメータはPIC側とPC側で合わせてありますか?

回答No.2

PIC側が正常動作しているかわからないプログラム。 PC側も正常動作しているかわからないプログラムではチェックなんか出来ません。 せめてPC側はハイパーターミナル(WindowsXPの場合)かTeraTermを使いましょう。

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

>puts("A\0");とデータを送信して おそらく 'A' と '\0' を送信しようとしてるのでしょうが送信されるのはきっと 'A' だけ。 >ReadFile()関数でPC側で受信しているんですけれど、 受信したバイト数は確認されてるのでしょうか。