- ベストアンサー
シリアル通信で文字バケ
picを使ってパソコンとのシリアル通信実験してるんですが、通じたり、通じなかったりで 時にはなんだか見たこともない漢字がでてきたりします。 シリアル通信は大体がアスキー文字を送っているわけでアスキーコードにない わけのわからない漢字、記号がでてくるのはなぜなんですか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
PICとPCとの接続方法と、PICのUSARTの設定と、PC側の使用ソフト&設定を教えて下さい。 ありそうなのは、極性が間違っているか速度が間違っていることです。 > 漢字、記号がでてくるのはなぜなんですか? ASCII文字は最上位bitが0です。 漢字や記号(の1バイト目)は最上位bitが1です。 シリアル通信は最下位bitから順に送信します。 速度が間違っていると途中のbitを最上位bitと見間違えます。 極性が間違っているとそもそも開始地点がずれますので何が起こっても不思議はありません。
その他の回答 (3)
- RTO
- ベストアンサー率21% (1650/7787)
回答No.3
訂正 ×前者なら 論理的な設計ミス ○前者なら 論理的な設計ミス または設定ミス
- RTO
- ベストアンサー率21% (1650/7787)
回答No.2
問題の切り分け 同じデータを何回か送って「同じように崩れる」のか「毎回 違う形で崩れる」のか確かめる 前者なら 論理的な設計ミス 後者なら物理的な不良
- Wr5
- ベストアンサー率53% (2173/4061)
回答No.1
どこらヘンが物理学なのか疑問ですが…… >picを使ってパソコンとのシリアル通信実験してるんですが、通じたり、通じなかったりで >時にはなんだか見たこともない漢字がでてきたりします。 ・速度が合っていない。 ・データビット長が合っていない。 ・ストップビット長が合っていない。 ・パリティの設定が合っていない。 ・フロー制御が合っていない。 などなど……パラメータが正しく合っていないんじゃないですかね? その結果、受信した内容が壊れているものと思われます。
お礼
>漢字や記号(の1バイト目)は最上位bitが1です。 それで納得です。 ありがとうございます。