プロが教えるわが家の防犯対策術!

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

A 回答 (3件)

>puts("A\0");とデータを送信して



おそらく 'A' と '\0' を送信しようとしてるのでしょうが送信されるのはきっと 'A' だけ。

>ReadFile()関数でPC側で受信しているんですけれど、

受信したバイト数は確認されてるのでしょうか。
    • good
    • 0

PIC側が正常動作しているかわからないプログラム。


PC側も正常動作しているかわからないプログラムではチェックなんか出来ません。

せめてPC側はハイパーターミナル(WindowsXPの場合)かTeraTermを使いましょう。
    • good
    • 0

まずはPC側のソフトウェアを実績のあるものにしてPIC側をデバッグすべしというANo.2さんの回答に一票。



あと、基本の基本ですがRS-232Cの通信パラメータはPIC側とPC側で合わせてありますか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!