
現在PIC勉強中の初心者です。
教えて頂きたいのですが、
現在PIC16F877Aを2台使用して相互間をシリアル通信で結び、
一台のPICからの入力12点を二台目のPICの出力12点に出力するプログラムを作成中です。
現在は通信で1点の入力をうけ1点の出力にだすところまでは何とかできました。
そこで調べても合理的で良いやりかたが見つからなかったのでよく御存じの方に教えて頂きたいのですが、
12点の入力をどのようなやり方でまとめ、シリアル通信で送り、どのようなやり方で展開し12点の出力を出すのか良いやり方がありましたら教えて下さい。
(入力はRA,RE,RC,RDを使い、出力はRB,RC,RDを使用してます)
(自分としては2進数でまとめて2つ送ったらわかりやすいのではないかと思っているのですが..)
No.2ベストアンサー
- 回答日時:
PICも含めて、いかなる組込みマイコンでシリアル通信を行う場合でも、その内蔵のシリアル通信機能を使えば、比較的簡単に「送信」する事は誰でも可能です。
問題は、シリアルデーターの2バイト以上の受信です。
(1)その内蔵のシリアル通信機能で、いつ来るか判らない「受信データー」を絶えず環視している必要が有る。->つまり割込処理とするか、あるいは絶えず受信のプログラムを優先的に動かしている必要があるという事です。
(2)内蔵機能であろうが、プログラムでのシリアル受信であろうが、1バイト以上連続して何バイトもデーターが送られて来る様な場合には、その間髪入れずに送られてくるバイトデーターを、取りこぼす事無く、次々と記憶する領域(バッファー)が必要となります。
PICの内蔵シリアル受信機能には、バイトバッファを2個持っています。つまり、2個までは連続したバイトデーターを取りこぼしする事無く自動で受信できますが、それ以上連続したバイトを受信すると、取りこぼしを起こすという事です。
今回は、2バイトで済むので、特に問題なく受信が可能と思いますが、あまりにも、通信のノイズに対する防御が無くて、今後のためにも、そのままの受信はお薦めできません。
詳しくは、下記サイトにPICでのシリアル通信で、割込型ソフトウエアFIFOバッファについて、やさしく詳しく教えています。
ご参照ください。これを知らないと、2バイト以上の受信が全てのマイコンで出来ません。
「パレットソフト」
http://www.palettesoft.co.jp/index.htm
HOME > 技術談話 > PIC microcontroller > シリアル通信
頑張って下さいね。
回答頂きありがとうございます。
読ませて頂き、いろいろ調べて理解できました。
今後のためにもソフトでバッファをもたせ1バイト以上の通信をするプログラムを作ろうと思います。
丁寧な説明を頂きありがとうございました。
No.1
- 回答日時:
結局のところ 12個のデータを送受信するしかないわけだから, ある意味どうにもならないとはいえる. 「送信側では 12個のデータをシリアライズして何らかの方法で送り, 受信側で受け取ったデータをデシリアライズする」しかないよね.
そもそも, データの流れは
何らかのデバイスからのデータを 1台目の PIC が受け取り, それを 2台目の PIC に送る
でいい? もしそうだとすると,
「入力はRA,RE,RC,RDを使い、出力はRB,RC,RDを使用してます」
の「入力」とか「出力」ってなに? 「出力」が「1台目の PIC が 2台目の PIC にデータを送るための信号線」, 「入力」が「2台目の PIC が 1台目の PIC からデータを受け取るための信号線」の意味だとしたら, この 2つの本数が異なるのは明らかに異常でしょ?
あと「2進数でまとめて2つ送る」は何をしているのかさっぱり分からん.
この回答への補足
失礼しました、正確には
「ボタン入力はPIC1の12点を使い、LED出力はPIC2の12点を使用してます」ということです。
↑
質問の説明が悪すぎましたすいません。
あと「2進数でまとめて2つ送る」なんですが、例えば
ボタン入力12点をPIC1でまとめて
data1=0b00000001;data2=0b00000000;
という形でPIC2におくれるかな
みたいになるかなと思ったのですが、素人考えなのですいません。
至らない質問でご迷惑おかけしますが、宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
営業時間外にFax送信すると送信...
-
FAXが先方に着信したかどうかの...
-
FAX用紙の左上の日時と氏名につ...
-
コンビニから送ったファックス...
-
受信したFAXが黒くなる
-
CANON iRC3100でFAXを選別する方法
-
050IP電話の先へFAXが送れない...
-
FAXが古い・時代遅れと言われて...
-
faxのない固定番号に何度もfax...
-
ショートメールの184付や1...
-
うちにはFAXがないのに、FAXの...
-
FAX送信後の確認の電話
-
インクリボンと紙が一緒に出てくる
-
非通知で送られてきたファック...
-
iPhoneのエアドロツプを使用し...
-
FAXが真っ黒になって送信さ...
-
FAX【会社】の、直接送信とメモ...
-
fax送信プロトコルについて
-
通帳の記帳された文字のフォント
-
ファックスってどこの番号から...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
営業時間外にFax送信すると送信...
-
FAX用紙の左上の日時と氏名につ...
-
受信したFAXが黒くなる
-
電話への迷惑FAXについて
-
FAXとは何ですか?また、FAXと...
-
FAXが先方に着信したかどうかの...
-
FAXで再度印刷する方法
-
迷惑ファックスの受信拒否
-
050IP電話の先へFAXが送れない...
-
FAX受信した印刷データーだけを...
-
コンビニから送ったファックス...
-
FAX番号と電話番号はなぜ違...
-
パソコンの電源を入れてないく...
-
「**G3**」とでて、FAXの受信が...
-
感熱紙ファックスに送信する紙の色
-
NHKの受信料問題、どう思う?
-
FAXの通信料
-
B社のファクス複合機を購入し...
-
FAX送信が真っ黒。
-
FAXを受信した際に受信用紙の左...
おすすめ情報