- 締切済み
PICとPC間のシリアル通信について
PICとPC間のシリアル通信について PICの中で数値を処理した結果(たとえば、1516という数値)をstring型でPCにシリアルで送信できますか? PICは8bitまで対応しているので、12345678という数値もstring型で送れるのでしょうか?
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- waewa
- ベストアンサー率25% (1/4)
http://www.nicozon.net/player.html?video_id=sm10738650 http://www.nicozon.net/player.html?video_id=sm10819563 http://milky.geocities.jp/waewax/PAGE9.html PIC→PCの一方通行の通信ですがこんな程度でよかったらソフトもハードも簡単に出来ます。 アスキーコードを使って 1010000010などと出力し1文字の送信になります。 はじめの1がスタートビットと呼ばれるものでPCに「今から送るぜ!」と合図を送ります。 次の8ビットがアスキーコードです。 最後の0がストップビットと呼ばれるものでPCに「送り終わったぜ!」と合図を送ります。 これの繰り返しで文字が送れます。 bpsはこの1や0を送信している時間です。 9600bpsの場合これが0.104ミリ秒ということです。 1文字送るのに1.04ミリ秒の時間がかかるわけです。 PIC側もPC側もこのタイミングで信号の受け渡しを期待していますので狂うと文字化けをします。 もっと狂うと文字が受け取れません。逆に言うと文字化けをするときはもう少しで読めると言う事です。 ネット上にいろいろ参考になるサイトがあります。わたしもそこで勉強してこれを作って遊びました。 こんな程度でよければ参考にしてみてください。
- black2005
- ベストアンサー率32% (1968/6046)
No.1です。 >8*4=32bitが一回の出力に必要だということになるのでしょうか? 当然、1文字×送信文字数分の出力が必要ですが・・・ 質問の意味が良くわかりません。 >またRS-232ケーブルの種類によって通信速度に影響があるのでしょうか? RS232ケーブルの種類とは何ですか? 具体的にどんな種類? 通信速度はハードウェアの設定値で決まる数値であって、ケーブルの種類なんかには左右されませんよ。
- hanmemomo
- ベストアンサー率35% (205/580)
ちょい話はずれますが、 PICは確かに8ビットですが、それは1度に扱える数なので 複数の送信で扱える数には元から限界はないですよ。 2回で一つの値を送れば0~65536(-1)ですし 3回で一つの値を送れば0~16777216(-1)ってことです また、9600にもこだわる必要はないですよ。 PICは結構早いので、38400やそれ以上でも通信してます。 こちらでは、もっと速い速度で通信させてました。 MAX232系のチャージが遅いのでちょっと、無理させましたが チャージとはチャージポンプの意味です。(ここまでは多分触らないとは思いますが) 実際のところ、PICからPCへは超簡単なのですが、逆は死ぬほど面倒 やるとほかの処理が出来ないほどになりますね。
- black2005
- ベストアンサー率32% (1968/6046)
訂正 ×よって、周期は960Hzということになりますね。 周波数が960Hz、周期は1/960が正解ですね。
- black2005
- ベストアンサー率32% (1968/6046)
No.1です。 調歩同期ですよね? であればデータ以外にスタートbit、ストップbitが最低1bitづつ必要。 合計10bitで1文字となります。 よって、周期は960Hzということになりますね。
- black2005
- ベストアンサー率32% (1968/6046)
問題なく送れます。 ASCIIコード(キャラクタコードとも呼ばれる)であれば送れます。 http://www40.atwiki.jp/system-ed/pages/11.html
お礼
迅速なご回答ありがとうございます。 もうひとつ質問があるのですが、9600bpsの速度で通信が可能ということは、8bitを一つと考えると、1200Hzの周期で通信可能ということになるのでしょうか?
お礼
何度もご回答していただきありがとうございます。 最後にもう一度質問したいのですが、アスキーコードについて調べた結果、1つの文字列が8bitでしたので string count=1516; puts(count) というように出力した場合は、8*4=32bitが一回の出力に必要だということになるのでしょうか? またRS-232ケーブルの種類によって通信速度に影響があるのでしょうか?