• 追加された行はこの色です。
  • 削除された行はこの色です。
#freeze
 閲覧総計:&counter();  (本日:&counter(today);  昨日:&counter(yesterday);)
 
 &size(18){パソコンとPICの通信(USART)};
 
 【目次】(項目をクリックすると飛べます)
 #contents
 ~
 
 *パソコンとPICの通信(USART) [#h29216df]
 
 PICのUSART機能(RS232C)を用いてパソコンとPICで通信してみよう。
 
 【参考情報】
 久世氏の情報を参考にしました。
 ・PICとパソコンとの接続には「シリアル-USB変換ユニット FT232RX」を利用
  http://www.kuze.jp/pic/mikroc/page007.html
 ・「シリアル-USB変換ユニット FT232RX」@1,580円(販売:ストロベリーリナックス)
  http://strawberry-linux.com/catalog/items?code=50025
 ・USART送受信プログラムは下記久世氏ページを参考に作成しました。
  http://www.kuze.jp/pic/mikroc/page007.html
  http://www.kuze.jp/pic/mikroc/page008.html
  http://www.kuze.jp/pic/mikroc/page009.html
 
 【感想】
 ・パソコンとPICの安定した通信が実現出来ました。
 ・「シリアル-USB変換ユニット」を利用した事で
 1.パソコンとPICの安定したUSART通信が実現
 2.ノート型、デスクトップ型どのパソコンでもつなげられるUSB接続実現
 (最近のパソコンはRS232Cコネクタを持たない機種が多い)
 3.PIC用の5V電源がUSBから取れ、PIC用の電源が不要となった
 と一石三鳥となり、とても喜んでおります。  07/01/13
 
 |&attachref(P1010259.JPG,zoom,150x150,button){新しい写真添付};|&attachref(P1010269.JPG,zoom,150x150,button){新しい写真添付};|&attachref(USART01.JPG,zoom,150x150,button){新しい写真添付};|
 
  /**
  * パソコンとPIC通信 USART送受信
  * 'a'送信でLED点灯、'b'送信でLED消灯 PIC受信情報をそのままPCへ返信
  *
  * PIC16F628A
  *
  * RX:RB1 TX:RB2
  * LED:RB5
  *
  * Device Flags: _BODEN_OFF  _CP_OFF  _PWRTE_ON  _WDT_OFF
  *               _LVP_ON  _MCLRE_OFF  _INTRC_OSC_NOCLKOUT
  *
  * プログラム MikroC v6.2.1
  */
  void main() {
      unsigned short int dt;
  
      PORTB = 0b00000000; //PortBの中身をきれいにする
      TRISB = 0b00000010; //RB1のみ1:入力、他は0:出力に設定
  
      //PIC稼働点検(LED点滅)
      PORTB.F5 = 1;
      Delay_ms(100);
      PORTB.F5 = 0;
  
      //シリアル通信の初期化 RX:RB1 TX:RB2
      Usart_Init(9600);
  
      do {
          if (Usart_Data_Ready()) {
              dt = Usart_Read(); //受信データの読込
              Usart_Write(dt); //受信データをそのままPCへ返信
          }
          
          switch(dt) {
              case 'a':
                  PORTB.F5 = 1; //RB5 ON
                  break;
              case 'b':
                  PORTB.F5 = 0; //RB5 OFF
                  break;
          }
      } while(1);
  }
 
 ★この情報は役に立ちましたか?
 #vote(はい[7],いいえ[2])
 #vote(はい[8],いいえ[2])
 
 #comment_nospam
 
 *【方針変更】パソコン−PIC接続方法 [#k8b53a5c]
 
 計画ではパソコンとPICの接続方法は
 ↓久世氏のものを参考(MAX232を用いない回路とする)進める予定であった。
 http://www.kuze.jp/sfc/2005_autumn/page24.html
 しかし、この回路を実際に組み通信して見ると安定した通信が実現出来なかった。
 
 よって、「シリアル-USB変換ユニット FT232RX」を利用する方法に方針変更しました。
 07/01/13
 
 &attachref(P1010264.JPG,zoom,150x150,button){新しい写真添付};
 
 
 *【課題】パソコンとPICの通信(USART) [#tc42bfed]
 
 RS232C(シリアル)通信を利用し、パソコンとPICの通信にチャレンジしてみたい。
 必要部品を調達した。さて、実現出来るだろうか?  06/12/16
 
 |&attachref(P1010249.JPG,zoom,150x150,button){新しい写真添付};|&attachref(MikroC_terminal.JPG,zoom,150x150,button){新しい写真添付};|
 
 ・回路は↓久世氏のものを参考(MAX232を用いない回路とする)
 http://www.kuze.jp/sfc/2005_autumn/page24.html
 ↓久世氏のMikroCプログラム
 http://www.kuze.jp/sfc/2005_autumn/page25.html
 
 ・最初は16F628A内臓のハードUSART機能を利用してみる。
 信号反転が必要そうだったらSoftware_UART()関数の反転機能を利用してみる。
 Software_UART()関数の反転機能がバグで動かなかったら、ハードUSART機能
 に戻りトランジスタを用い信号反転を実施する。
 (トランジスタは2SC1213A(2SC1815同等品)を調達)
 
 ・パソコン側の送受信ツールはMikroCのToolsに用意されている
 USART Terminal(Communication Terminal)を利用する。
 (↓利用説明はページ下の方)
 http://www.kuze.jp/sfc/page22.html
 
 (参照MikroC Help)
 ・USART Library
 ・Software_UART Library   06/12/16
 
 
 
 ★この情報は役に立ちましたか?
 #vote(はい[0],いいえ[0])
 - 動きました? -- [[むっちゃん]] &new{2006-12-22 (金) 08:49:26};
 - 12/22 まだ手が付けられていません。 -- [[PICとMikroC]] &new{2006-12-22 (金) 19:57:48};
 - 結果を07/01/13に掲載しました。 -- [[PICとMikroC]] &new{2007-01-13 (土) 15:08:38};
 
 #comment_nospam