ImageJ 画像解析 PSoC 電子回路+マイコン iPhoneの使い方 Bicycle 自転車 Mechatronics メカトロ工作 Research 秘訣の研究CMSウェブサイト作成 その他一般
カウンタモジュール応用の色々なオブジェクトが使えるようになったら、次に欲しくなるのはシリアル通信用のオブジェクトではないでしょうか?Propeller教育編のオブジェクト指向プログラミング(サンプルと説明)にシリアル通信オブジェクトの使い方が解説されていました。マニュアル(PE-Kit-Objects-Lab-v1.0.pdf)の13ページからの説明です。PropellerがPCからのキー入力を読み込むために拡張版オブジェクト(FullDuplexSerialPlus.spin)を用いてます。Propellerのデモボードでは、PCとの接続用のUSBシリアル変換回路のTXDとRXDはPropellerのピン30と31に繋がっています。PC側のハイパーターミナルの起動と設定は16ページから解説されています。ハードのセットアップが終わったら、シリアル通信用のプログラムは以下のようにします:' --------------------------------------------------------------------------CON ' PropellerデモボードのRxピン番号は31、Txピン番号は30(右上の画像) _clkmode = xtal1 + pll16x '16x5MHz(=80MHz) _xinfreq = 5_000_000 Rx_pin = 31 'Rx_pinはPCからのTxピンに Tx_pin = 30 'Tx_pinはPCからのRxピンに PS2_dpin = 26 'data pin on PS/2 jack PS2_cpin = 27 'clock pin on PS/2 jack TV_fpin = 12 'first pin on Video port OBJ ' オブジェクトFullDuplexSerialPlus.spinをインクルード、TVとKBはPropellerの入出力 UART: "FullDuplexSerialPlus" TV : "TV_terminal" KB: "Keyboard" PUB Start | value' 初期化で通信速度を57600ボーに設定する場合;デモボードの回路ではモード0 UART.start(Rx_pin, Tx_pin, 0, 57600) TV.start(TV_fpin) KB.start(PS2_dpin, PS2_cpin) WaitCnt(160_000_000 + Cnt) 'Wait for 2 sec (2x80MHz)' 以下はデモボードに繋がったキーボードからの入力キーに対応する10進と16進と2進の数字をPCのハイパーターミナルに表示するルーチンです repeat TV.out(0) TV.Str(String("Press any key: ")) value := KB.newkey UART.Str(String(10, 10, 13, "You Entered", 10, 13, "--------------")) UART.Str(String(10, 13, "Decimal: ")) UART.Dec(value) UART.Str(String(10, 13, "Hexadecimal: ")) UART.Hex(value, 8) UART.Str(String(10, 13, "Binary: ")) UART.Bin(value, 32) repeat 2 UART.Str(String(10, 13))' --------------------------------------------------------------------------入力もハイパーターミナルからにする場合はPE-Kit-Objects-Lab-v1.0のサンプルEnterAndDisplayValues.spinのように UART.Str(String("Press any key: ")) value := UART.getDecとすれば良いだけです。
Searchword:
Search in:
(上のページ検索は通常ページのみでブログ風ニュースの内容は検索できません)