- 締切済み
離れたPIC同士のシリアル通信の回路でのPICの破損について
- 5m離れた2つのPIC間でシリアル通信(9600bps)をする回路を作りました。
- ふとしたことでPICの内蔵モジュールが破損することがあります。同じ回路を2セット作りましたが、同様に破損してしまいました。
- この状況の場合、PICが破損する原因と解決策について考える必要があります。MIDIのようにフォトカプラを使用するか、RS-232Cトランシーバを使用するか等を検討し、確実かつ簡易な方法を選ぶ必要があります。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
関連するQ&A
- pic-パソコン間のシリアル通信
PCからあるいはPICから操作を行って何かやりたいと思い、USART機能を持ったPICを使ってPICとPC間でシリアル通信を行いたいと思っているのですが、回路設計で悩んでいます。 PCのRS232Cシリアルインターフェースとの接続をするために変換回路を作りたいのですが、PIC関連の書籍のほとんどが変換用の専用ICを用いているのですが、なるべく安価な部品(抵抗、ダイオード等)で実現できないか考えています。 PIC→PC への方向の通信 PC→PIC への方向の通信 PIC⇔PC への双方向の通信 以上の3パターンでICを用いないでできる定番の回路、もしくは実現可能だと思われる回路などがありましたら教えていただけないでしょうか。
- ベストアンサー
- その他([技術者向] コンピューター)
- PICを用いてシリアル通信
PIC制御でシリアル通信を行いたいです。 以下の条件にマッチする製品が分かれば教えてくれませんか? ・シリアル通信は通信ポートが2つで両者の通信が行える ・半田付けなどは行わずにモジュールを組み合わせて動作するボード 以上、宜しくお願いします。
- 締切済み
- その他(プログラミング・開発)
- PICでシリアル通信
温度センサーLM35DZからの情報をPIC、ADM232,を経てシリアル通信でパソコンに表示するというのがあって、本で読んだとうりに、組んでみましたらうまくいきました。これは外付けオシレータ10MHzで動いています。 今度はこれを内蔵オシレータ4MHzで動かしたいんですが、その場合、どのような設定にしたらいいんでしょうか。 現在は OSC 10MHz 9600bps 非同期 高速モード SPBRG D’64’ TXSTA B’00100100’ で動いてます。 とりあえずは、SPBRGの数をかえてためしてみたんですが、一応情報は送っているみたいなんですが、文字化けしてうまくいきませんでした。
- ベストアンサー
- 物理学
- PIC16F88を使ったV/Fコンバータ回路
車にデジタルメーターを付けたいのですが、燃料計がデジタル入力になり、標準のアナログ入力からV/Fコンバーターを使ってデジタル出力回路を組みたいと思っております。 PICのプログラムはほぼ解決出来ていまして、あとは回路を組むだけですが プルアップ回路をどのように組んだらよいのか(入力信号2.0mV~2.5V変移)に組むのか PIC電源の5V(Vdd)に組むのか良くわかりません。 添付の回路図で良いのかアドバイスをお願い出来ますでしょうか? 回路図中の可変抵抗というのは、燃料計のフロートセンサーです。 宜しくお願いいたします。
- ベストアンサー
- 物理学
- PICのシリアル通信のWIN_APIプログラムについて
PICとPCとのシリアル通信の WIN_APIプログラムについてどなたかご存知の方は教えてください. 現状,API関数を用いて,シリアル通信をできるようにプログラムを作成したのですが,送信はできるのですが,受信データが"C0"をPICから送付しているのに,"FFFFFFFC0"と受信されてしまいます. 先の"FFFFFFF"をとるにはどうしたらいいでしょうか? 現状:受信プログラム // シリアルポートに対する書き込み(PICに送信命令) WriteFile(hCom, w_com_Buf,lstrlen(w_com_Buf), &n, 0 ); // シリアルポートに対する読み込み ReadFile(hCom, s_com_Buf,1, &n, 0 ); mikroC上のUSARTターミナルでは送受信は適正で, 上記のプログラマで 送信はPIC側で受信していることは7SEGを使って確認しています. しかし,PC側では, s_com_Buf[0]には,"C0"が入ったり,"FFFFFFC0"が入ったりします. PICは現状,多チャンネルAD変換をしているため, 送信に対する受信データのやり取りができなくて困っています. どなたか先生教えてください.
- ベストアンサー
- その他(インターネット接続・通信)
- PICのシリアル通信について
現在PICで電子工作を勉強中です。 PIC16f628Aを使ってパソコンとのシリアル通信をしようと思っています。 しかし、PICから"Hit some key for test"という文字列をおくったところ、 文字化けして"ソ3!・ソ)5"といった感じで出力されてしまいました。 文字化けが起きる原因としては何が考えられるのでしょうか? なお、パソコン側の端末にはTera Termを使用しています。 どなたかご教授お願いします。 以下にソースコードを示します。 #include <pic.h> __CONFIG(MCLRDIS & PWRTEN & BORDIS & UNPROTECT & WDTDIS & LVPDIS & HS); __IDLOC(628A); unsigned char getchr(void) { while(RCIF == 0); return (RCREG); } void putchr(unsigned char c) { while(TXIF == 0); TXREG = c; } void puts(const unsigned char *s) { while(*s) putchr(*s++); } void main(void) { PORTB = 0; TRISB = 0b00000010; SPBRG = 129; TXSTA = 0b00100100; RCSTA = 0b10010000; puts("Hit some key for test\n"); puts("\n"); while(1) putchr(getchr()); }
- 締切済み
- C・C++・C#
- PIC12F683からパソコンへのシリアル通信
PIC12F683 を使って、簡単な電圧ロガーを作ろうとしているのですが、 パソコンへの送信が正常に行われません、わかる方がおられたらどこが悪いのかご指摘願います。 PICの書き込み、PICからのデータ受信に用いているパソコン(のマザーボード)は、G45GCMX-S2です。 参考にさせていただいているサイトは、 http://www8.plala.or.jp/InHisTime/page005.html#PIC-002 なのですが、上記サイトのソースプログラム http://www8.plala.or.jp/InHisTime/PIC-001/DataLogger2.c には何の手も加えず、動作させております。 また、PIC->PCへの接続端子の接続が正常である事も、テスターで確認しております。 (回路から、PCのCOM1(DSUB-9pin)へ接続。) コンパイル(MikroC 8.88)、hexの書き込み(RCDライタ)までうまくいくのですが、 ブレッドボードに組んで、電源を入れてもGP5の電圧に変化が無い、という状況です。 (LEDを点滅させるプログラムを書き込んだ場合は問題なく動作しています。) 実際の各端子は Vdd 1pin : 5V GP5 2pin : open (※ この端子の電圧に変化が無い) GP4 3pin : open GP3 4pin : 5V CPP1 5pin : open AN1 6pin CH1 : open AN0 7pin CH0 : open Vss 8pin : GND となっています。テスターで測ると 2pinは2.3Vで一定、 レベル変換用のトランジスタのコレクタは3.4V一定です。 念のためレベル変換回路 (http://www8.plala.or.jp/InHisTime/img2022.jpg の右上、C1815の部分。) 単体の動作確認はしています。 ハイパーターミナルその他のソフトで通信しようと試みたのですが、 反応が無いため、ピンの電圧を測ってみたところ、パソコンへの送信出力ピンの電圧が 変化していないので、これは正常じゃないのでは無いか?と思い、 詳しい方のアドバイスをいただこうと投稿しました。 上記のソースであれば、1秒ごとに出力電圧に反応があるかと思いますが、無反応です。 説明がややこしくなりましたが、わかる方がおられましたらよろしくお願いします。
- 締切済み
- その他(パソコン)
- PICの汎用IOを使った無線モジュールの電源ON/OFF
電子回路初心者ですが、PIC(PICは送信→スリープ→ウォッチドグタイマで決まった周期で起きる→リセット→最初に戻って送信、を繰り返してます)と無線モジュールの接続を行って通信を行ってます。消費電力を下げたいため、送信が必要な時だけ、PICの汎用IOを使って無線モジュールの電源ラインをONにしたいと考えています。無線モジュールは、送信の時に50mA程度消費するのが最大のようです。PIC、無線モジュール共に5Vで動作させています。この場合に、汎用IOと電源ラインの間にどのような回路を構成すれば良いのか、どういったものを、どういった基準で選べばいいのかわかりません。どなたか、アドバイスいただけませんでしょうか。よろしくお願いします。RSなどで小ロットで注文できるもので構成できるとありがたいです。
- ベストアンサー
- その他([技術者向] コンピューター)
- シリアル通信の電圧変換
シリアル通信に関する質問です。 出力が3.3Vのマイコンから入力電圧が5V必要なサーボコントローラの間で、シリアル通信をしたいのですが、どうやったらいいのでしょうか? 信号の方向は、 マイコン(3.3V)→サーボコントローラ(5V)です。 昇圧回路?とかを通すのでしょうか?その辺はよくわかってませんが。。
- ベストアンサー
- その他(ホビー・玩具)
- シリアル通信の通信・検証方法とは?
Visual C++ 6.0(MFC)でプログラミングを行っています. VB 6.0でPCから値を入力し,PICへRS232Cケーブルを用いて値を送り,モータコントロールするプログラムは既に存在しており,現在はVBで書かれていた部分(インターフェイス部)をVC++に書き換えようとしています. サンプルプログラムを参考にシリアル通信に関するVC++のプログラムは完成し,PCからモータの制御を行おうと思ったのですが,うまくいきません. こういった際,どこに問題があるのかを検証したいのですがどうすればいいでしょうか? 現状, 1,シリアル通信ができていない 2,シリアル通信はできているが,PICへ値がうまく格納されていない 3,それ以外 問題があるのは分かるのですが,プログラマーのほうに原因がフィードバックされないため困っています. 明確な答えでなくても,アドバイスのようなものがいただけたら幸いです.
- ベストアンサー
- C・C++・C#
補足
ご助言をありがとうございます。 ケースはどちらも樹脂性で、ケーブル以外でGNDが接続される可能性は無いと思われます。 ご指摘いただきましたように、GNDラインが、接続時には最初に接続され、解放時には最後に離れるようなコネクタを使うべきでした。