• 締切済み

PICを用いてシリアル通信

PIC制御でシリアル通信を行いたいです。 以下の条件にマッチする製品が分かれば教えてくれませんか? ・シリアル通信は通信ポートが2つで両者の通信が行える ・半田付けなどは行わずにモジュールを組み合わせて動作するボード 以上、宜しくお願いします。

みんなの回答

  • zi-hua
  • ベストアンサー率73% (11/15)
回答No.1

まずはシリアル通信ポートを2つ持っているPICを探して、 そのPICの評価用ボードを探す、ということになるでしょう。 PIC探しはこちら。 http://www.microchip.com/maps/microcontroller.aspx で、よく出回ってそうなPIC18F8722あたりだと、 ボード製品ではこんなのもありました http://www.datadynamics.co.jp/ccsc/18f8722kit.html パラレルポートをソフトウェアでシリアル通信に使うスキルがあれば、 もっと選択の幅は広がるんですけどね。。。 あと、周辺回路を作ったり、ちょっとしたアレンジを加えたりするにも、 半田付けのスキルは必須です。 もし半田付けができないか、不得意なら、練習あるのみです。

mindeyed
質問者

お礼

ありがとうございます。 やはり評価ボードですか。。。 評価ボードですと大きいので、 コンパクトに単機能だけで作る事が出来るのでしょうか?

関連するQ&A

  • 離れたPIC同士のシリアル通信の回路でのPICの…

    離れたPIC同士のシリアル通信の回路でのPICの破損について 5m離れた2つのPIC間でシリアル通信(9600bps)をする回路を作りました。 単にそれぞれのPICの内蔵モジュールのTXとRXをたすきがけしただけの回路です。 また、メインの電源は12Vで、それぞれのPICの近くにそれぞれ専用の7805を配置してPICに5Vを供給しています。 また、2つのPIC間のケーブルはコネクターで取り外せるようになっており、同ケーブルにはシリアル通信(送信、受信)、+12V、GNDの計4本の線で構成されています。 この状態で特に問題無く通信はできているのですが、ふとしたことでPICの内蔵モジュールが破損することがあります。 同じ回路を2セット作りましたが、同様に破損してしまいました。 多分、コネクタを抜き差しするか、或は電源を投入、切断のタイミングではないかと予測しています。 (詳しくは、参考URLの図をご覧ください。  図には電源のコンデンサなどは記載していませんが、それぞれ適宜、配置してあります。) 尚、2つのPIC付近の7805には、PIC以外にそれぞれ違う消費電流の負荷が接続されています。 そのため、5Vに安定するまでの時間に違いが出てしまい、結果、内蔵モジュールの規格外の電圧がかかってしまうのかと予測しています。 ここで質問です。 ・このような状況の場合、PICが破損する原因はどのようなことが考えられるでしょうか? ・解決策はどうしたら宜しいでしょうか? まだ試していませんが、MIDIのようにフォトカプラを使用するか、RS-232Cトランシーバを使用するか等を考えておりますが、なるべく簡易で確実な方法をとりたいです。 宜しくお願いいたします。 http://box.c.yimg.jp/res/box-s-vboqi4x6dy2zfrx7fyns5aqghq-1001?uid=5c9c0a84-d898-45e4-8d4b-df319ca25f24&etag=5c2f1b99137520886935391

  • GPIOポートを使ったシリアル通信について

    GPIOポート(デジタルの汎用入出力)を用いてのシリアル通信について質問させて頂きます。 通常シリアル通信にはTxD,RxDといったシリアル通信用のピンを用いますが、これは通常1デバイスに一ポート程度しかありません。そこで、多数のシリアル通信デバイスを制御するのに、数のあるGPIOピンを用いることができないか、と検討しております。 具体的には、raspberry piやarduinoに搭載されるGPIOピンと制御したいデバイス(PICマイコンなど)のシリアル通信ポートを接続し、制御したいということです。 説明が下手で意図がうまく伝わらないと思いますが、できるかできないか、または参考になる資料など、なんでもいいので情報の提供をよろしくお願いいたします。 イメージしている接続を図示してみましたので、説明の足しになれば幸いです。

  • マイコンPIC シリアル2系統

    マイコンのPICを1つ使い、シリアルコネクタ2つを制御する方法や、 マイコン実装済みボードの販売先が分かる方、 教えてくれませんか?

  • 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変換をしているため, 送信に対する受信データのやり取りができなくて困っています. どなたか先生教えてください.

  • CPUボードのシリアルポートの通信ができません

    CPUボードのシリアルポートの通信ができません CPUボードにはRGB、LAN、シリアルポート、P/S2とコネクタがあるのですが LANケーブルかP/S2のキーボード挿して電源を投入すると 何故かシリアルポートも正常に動作します 理由がわかる方いたらお願いいたします

  • PICのUSBホストコントローラーについて

    初心者です。 PIC24FJ64GB002のUSBホストコントローラーを使用し、USB機器との通信を行っています。 USB機器との通信制御を行っていない時に、PICの汎用ポートからシリアル通信の信号(パルス幅=10μsec、50ビット)を出力しているのですが、不特定ヶ所でパルス幅が50μsec程延びます。 USB機器との通信制御を行っていない時に、通信端子に『通信時間=50μsec、1msec間隔 』の信号が出力されています。 ●この通信制御が汎用ポートの処理の邪魔をしている(割込みが入っている)のでしょうか? ●割込みが原因の場合、割込みを避けて汎用ポートの出力を行いたいのですが、どのようにすればよろしいでしょうか? ご教示下さい。 よろしくお願い致します。

  • 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()); }

  • COM1(シリアル)ポートについて

    現在、ASUSのP5Qというマザーボードを使用しているのですが、 JDMプログラマというPICライタをシリアルポートに接続したいので、 COM1ポートにシリアルポート(RS232C)のブランケットを 取り付けました。 デバイスマネージャではCOM1ポートを確認できるのですが、 いざ、JDMプログラマの書き込みソフトICProgを使って、 PICの書き込みを行うと失敗し、 ほかのシリアルポート接続の機器を接続しても動作しませんでした。 USBシリアル変換ケーブルはJDMプログラマでは、 電圧の関係で使用できませんので、 直接シリアルポートで接続できるにはどうしたらいいか 分からなくて困っています。 わかる方教えてください。 よろしくお願いします。

  • シリアル通信の通信・検証方法とは?

    Visual C++ 6.0(MFC)でプログラミングを行っています. VB 6.0でPCから値を入力し,PICへRS232Cケーブルを用いて値を送り,モータコントロールするプログラムは既に存在しており,現在はVBで書かれていた部分(インターフェイス部)をVC++に書き換えようとしています. サンプルプログラムを参考にシリアル通信に関するVC++のプログラムは完成し,PCからモータの制御を行おうと思ったのですが,うまくいきません. こういった際,どこに問題があるのかを検証したいのですがどうすればいいでしょうか? 現状, 1,シリアル通信ができていない 2,シリアル通信はできているが,PICへ値がうまく格納されていない 3,それ以外 問題があるのは分かるのですが,プログラマーのほうに原因がフィードバックされないため困っています. 明確な答えでなくても,アドバイスのようなものがいただけたら幸いです.

  • PICライターを購入したいのですが…

    PIC12C509Aに書き込めるPICライターを購入したいのですがライターがとても高く予算オーバーです(ToT) ホームページで調べてみたのですが半田付けができれば1000円以下で作れるようですが半田コテすらありません。 ノートパソコンに直結でき、電源不要、しかも安いというPICライターを探しています。

専門家に質問してみよう