Top
HIDaspx
DownLoad
HIDasp高速化
制作
AVR関係
AVR_Monit
AVR_term
W32_term
HIDmon88
HIDtester
usbRS232
Arduino2313
デジタルテスター
ATmega88生活
KeyBoardマニア
KeyBoardマニアII
Arduino400
PICライター
ARMライター
赤外線リモコン
ARM
STM32ブートローダー
STM8S-Discovery改造
STM8S-OpenOCDライター
LPCXpresso
LPC用ブートローダー
NXP用LPCUSB
NXP用ブートローダー
MARY基板
LPC1114FN28
OpenOCD JTAGアダプター
OpenOCDビルド方法
arm-gccビルド方法
mapleIDEの改造
libmapleで仮想COM
PIC32
PIC32MX
Pinguinoで遊ぼう
ブートローダーを作る
シリアルブートローダー
USB仮想シリアル
USBカスタムデバイス
USB簡易モニター
USBオシロスコープ
USBホスト
PIC32でBluetooth
USBAudio
USBStudy
VGA出力に挑戦
BASICを動かす
WinUSB
勝手に改蔵*PIC32
PIC18F
HIDブートローダー
AVR/PIC両用ライター
ARMライター
usb汎用クラス
usbシリアル変換
usbキーボード変換
sdccを使いこなす
mcc18を使いこなす
HIDmon-2550
HIDmon-14K50
PICmonitor
試行錯誤の記録
UBWを試す
旧HIDboot
PIC18F2550試用記
PIC18F4550試用記
その他マイコン
NEC78K
RX62N
SH2A
H8
FM3
XPからubuntuに乗り換え
Android
Xen-hypervisor
Windows8カスタマイズ
開発日記
2015-04
ノウハウ
AVRUSB_Tips
HIDasp情報
汎用USB-IO
・
リンク
フリースペース
ゲストブック
旧コンテンツ
WinVista
インターフェース考
最新の20件
2022-07-25
2008-10
HIDasp高速化
H8/3048F
AutoTicketLinkName
2021-12-11
FormattingRules
2021-12-08
PukiWiki/1.4/Manual/Plugin/O-R
PukiWiki/1.4/Manual/Plugin/L-N
PukiWiki/1.4/Manual/Plugin/V-Z
PukiWiki/1.4/Manual/Plugin/A-D
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/S-U
PukiWiki/1.4/Manual/Plugin/H-K
2020-02-23
YukiWiki
PHP
PukiWiki
WikiWikiWeb
2018-12-19
SandBox
InterWiki
2015-05-07
2015-04
2015-05-02
MenuBar
編集
差分
pic18spx の編集
-- 雛形とするページ --
(no template pages)
[[2010-02]] [[PICspx]] *PIC18F2550/4550/14K50によるAVR/PIC両用ライター [#jb10237f] -およびC言語でリライトしたHIDmonが1つのファームウェアに納まっています。 http://psp.dip.jp/web/jpg/PIC/pic3.jpg 左:PIC18F2550 中:18F14K50+PIC24FJ64 右:18F14K50+ATmega88((写真に写っているPIC24FJ64やATmega88チップはライターの書き込みターゲット、もしくはシリアル通信の相手としてオンボード実装しているだけです。pic18spxそのものの動作に必要と言う訳ではありません。)) -10PinのISPコネクタは上段がファーム更新用で、下段がターゲットマイコンへの接続用です。 ~ -真ん中の基板は18F14K50を3.3V動作させて、オンボードのPIC24FJ64にそのまま接続されています。 -PIC24F用の書き込みソフトも作成しました。 ~ -右側の基板はArduino互換機兼PIC/AVR両用ライターです。 --Arduinoとして動作させるときはPIC18F14K50のファームを差し替えてUSBシリアル変換器として動作させます。 ~ ---- ここに書かれている内容は分かりにくいと思いますので、初めて制作される方は~ 以下のkumanさんの解説ページも合わせてお読みください。 -http://www.geocities.jp/kuman2600/o19pic18spx.html -分かりやすい解説を作られたkumanさんに感謝します。 ~ ~ ------------ http://psp.dip.jp/web/jpg/PIC/14k50.jpg http://psp.dip.jp/web/jpg/ae18f2550.jpg ■ 概要 これは、MicroChipが提供している PIC18 のUSBアプリケーションフレームワーク に含まれているHID-Bootloader をもとにして作成した PIC18F専用の簡易モニタ(兼PIC/AVR両用ライター)です。 ■ 現在のステータス (1)PIC 18F2550/4550/14K50上で動作します。 (2)簡易モニタとして、picmon.exe が使えます。(メモリー、I/Oの参照と変更が可能です。) (3)HIDaspx の仮バージョンが動きます。(AVRライターとして使えます。) (4)picwrite.exe の仮バージョンが動きます。 (LVP書き込み専用ですがPICライターとして使えます。) (5)writer24.exe の仮バージョンが動きます。 (PIC24Fライタ) ■ 試し方 -まず、[[pic18boot]]を使用してファームウェアを書き込みます。 C:> picboot -r firmware/picmon-18F2550.hex -デバイスが18F2550/18F4550の場合は、picmon-18F2550.hexを、18F14K50の場合はpicmon-18F14k50.hexを書き込んでください。 次に、picmon を起動します。 C:> cd host C:host> picmon.exe -%%現在実装されているのは HIDCMD_PEEK と POKEだけです。%% -以下のコマンドは有効です。 "* HID_Monit Ver 0.1\n" "Command List\n" " d <ADDRESS1> <ADDRESS2> Dump Memory(RAM)\n" " dr <ADDRESS1> <ADDRESS2> Dump Memory(EEPROM)\n" " dp <ADDRESS1> <ADDRESS2> Dump Memory(PGMEM)\n" " e <ADDRESS1> <DATA> Edit Memory\n" " f <ADDRESS1> <ADDRESS2> <DATA> Fill Memory\n" " l <ADDRESS1> <ADDRESS2> List (Disassemble) PGMEM\n" " p ? Print PortName-List\n" " p . Print All Port (column format)\n" " p * Print All Port (dump format)\n" " p <PortName> Print PortAddress and data\n" " p <PortName> <DATA> Write Data to PortName\n" " p <PortName>.<bit> <DATA> Write Data to PortName.bit\n" " sleep <n> sleep <n> mSec\n" " bench <CNT> HID Write Speed Test\n" " boot Start user program\n" " run <address> Run user program at <address>\n" " user <arg> Run user defined function (usercmd.c)\n" " poll <portName> Continuous polling port\n" " poll <portName> <CNT> continuous polling port\n" " poll * <CNT> continuous polling port A,B,D\n" " graph <portName> Graphic display\n" " q Quit to DOS\n" -実行例 TARGET DEV_ID=25 PIC> d 000000 00 00 40 00 20 78 02 00 000008 08 41 22 68 05 00 07 20 000010 bf 04 02 80 ac 40 84 41 000018 5d 44 88 83 05 03 c4 41 000020 fe 20 85 84 0c e9 24 cb 000028 36 50 8c 22 22 f8 51 21 000030 04 44 25 dc 02 c0 31 14 000038 81 09 48 d4 43 10 d6 35 PIC> l 0 0000 6af7 clrf 0xf7, 0 0002 6af8 clrf 0xf8, 0 0004 d054 bra 0xae 0006 d330 bra 0x668 0008 ef04 f004 goto 0x808 000c d05d bra 0xc8 000e d27b bra 0x506 0010 d328 bra 0x662 0012 d32c bra 0x66c 0014 d32f bra 0x674 0016 d345 bra 0x6a2 0018 ef0c f004 goto 0x818 001c 0112 movlb 0x12 001e 0200 mulwf 0, 0 0020 0000 nop 0022 4000 rrncf 0, 0, 0 0024 04d8 decf 0xd8, 0, 0 0026 003c dw 0x3c ;unknown opcode PIC> q Bye. C:> ■ ディレクトリ構成 +- picspx/ -+-- picspx/ AVRライター (gcc) | +-- picwriter/ PIC18Fライター (gcc) | +-- writer24/ PIC24Fライター (gcc) | +-- picmon/ 簡易モニター (gcc) | +-- firmware/ ファームウェア (mcc18) ■ 回路図 (PIC 18F4550) [[circuit.txt]] を参照してください ■ AVRライターとしての試し方 18F2550/18F4550の4本のSPI信号を書き込み先のAVRチップに接続します。 18F4550上のpin番号:信号名 = SPI端子(AVRチップ上のピン名称) ----------------------------- 25:RC6=TX = Reset 33:RB0=SDI = MISO 34:RB1=SCK = SCK 26:RC7=SDO = MOSI ----------------------------- C:> cd picspx C:picspx> picspx-gcc.exe -r のようにして使います。 C:picspx> picspx-gcc.exe だけを入力すると使い方の表示が出ます。 picspx-gcc.ini が同じディレクトリにない場合は、少なくとも -ph オプションを手動で指定する必要があります。 ■ PICライターとしての試し方 接続: AVR用ISP 6PIN 書き込み対象 PIC18F2550/14K50 ------------------------------------------------------------ 1 MISO ------------------> PGD 2 Vcc ------------------> Vcc 3 SCK ------------------> PGC 4 MOSI ------------------> PGM 5 RESET ------------------> MCLR 6 GND ------------------> GND ・picwriter/picwrite.exe -r を実行して、PICのデバイスIDが表示できれば、接続はうまくいっています。 ・LVP書き込みモードのないPICや、既にHVP(高電圧)書き込み済みのPICは このPICライターでは読み書きできません。 ・LVP書き込み後のマイコン使用時は常時PGM端子を「プルダウン」して使用する 必要があります。 --------------------------- ■ hidmon-14k50 や hidmon-2550との違い ・一応、C言語で書かれています。(mcc18) ・コードサイズが大きいです。(5kB程度) ・USB のPIDが違います。 ・プロトコルも違います。 ・HID Reportの転送方法が異なります。 hidmonでは、全てコントロール転送(HidD_SetFeature/HidD_GetFeature) で行っていますが、picmonit.exeでは、EndPoint1に対するインタラプト転送 によりデータの受け渡しを行っています。 このため、インタラプト転送パケットがデバイスより送出されない限りは HID Reportを受け取ることができません。(ホストがタイムアウトになります) 送出された場合は、必ず受け取っておかないと、次パケットの受信時に、バッファ にたまった古いパケットを受け取って混乱することになります。 ■ 何に使えますか? ・picmon.exe 上のコマンドと、firmware上のコマンド受け取り処理の対を 自分で追加することにより、いろいろな機能を追加することが出来ます。 graphコマンドによる、10kHzサンプリング画像 PIC> graph PIC> graph portc trig 1 http://psp.dip.jp/web/jpg/PIC/infrared2.png アナログサンプリングは仮実装 PIC> graph analog PIC> graph analog trig サンプリング周期の変更方法 -firmware/main.c の修正によるもの -picmon.exe から、 p pr2 XX のようにしてPeriod2レジスタを書き換える方法 -さらに、T2CONレジスタをいじってプリスケーラーも変更する方法、など。 -ただし、データ引取り周期は1mS/パケット(64bye)が限度なので、60kHzが理論上の上限です。(これより速くしたい場合はCDCデバイスなどに変更したほうが良いでしょう) -30kHzでもUSBのフレームが間引かれた場合データ落ちが起きる可能性があります。(一応256byteのバッファは存在します) -アナログの場合1サンプル2byteなので30kHz以上には出来ません。 ---- *ダウンロード [#j6584c79] PIC側ファームウェア・HEXファイル、ソースファイル、 Windows側コマンドラインツール等一式。(2014-03-18: Windows8.1でデバイス認識しない問題を改善) -[[pic18spx-2010-0416.zip:http://psp.dip.jp/web/upload.cgi/PIC/pic18spx-2010-0416.zip]] ~ Windows8.1対応PIC側ファームウェアのみ(ソース込み) -[[pic18spx-2014-0317.zip:http://psp.dip.jp/web/upload.cgi/PIC/pic18spx-2014-0317.zip]] --- こちらは、新しいMLA(microchip-libraries-for-applications-v2013-06-15-windows-installer.exe)をベースに新規実装したものです。 --- このバージョンならば頑張れば mcc18ではない、XC8でビルドすることも不可能ではありません。(要確認) --- 今のところ、PIC18F2550でしかビルド出来ません。 --- picmon.exeで動作確認を行いましたが、AVR/PICライターの動作確認はまだです。 ~ Linux版のhidspxコマンドラインツール(''AVRライターソフト'')。(少しの変更でMacOSXでも動作すると思います) -[[pic18spx-linux.zip:http://psp.dip.jp/web/upload.cgi/PIC/pic18spx-linux.zip]] ~ ''おまけ'' HIDaspx(AVRライター)しか持っていない場合でもPIC18Fxxxxにファームを焼けます。 -read more : [[PICspx]] ~ Linuxホストからpicmon,picbootを試すことも出来ます。picmon/ ディレクトリで再コンパイルを行ってください。 -実行には今のところルート権限が必要です。 ~ ~ ''おまけ2'' *赤外線リモコン信号の解析機能を実装済みです。 [#u003335e] 上記''ダウンロード''のアーカイブ(pic18spx-XXXX.zip)を取得してください。 -■ 概要 PIC18F2550/4550を使用して、赤外線リモコンの受光波形を観測することが出来ます。 ■ 使い方 (1)firmware/picmon-18f2550.hex を焼きます。 (2)リモコン受信器(38kHz)の出力端子をPICのPortA.bit0に繋ぎます。 (3)PICデバイスをUSB経由で接続した後、 picmonit.exe を起動します。 C:picspx> picmon\picmonit.exe PIC> プロンプトが出たら、以下のコマンドを入力します。 PIC> graph porta infra (4)リモコン受信器に向けて、家電協規格の赤外線リモコン信号を送ります。 するとコンソールに、解析したビットを表示します。 HDR:01000000_00000100_00000001_00000000_10001000_10001001_ HEX:40 04 01 00 88 89 HDR:01000000_00000100_00000001_00000000_00001000_00001001_ HEX:40 04 01 00 08 09 HDR:01000000_00000100_00000001_00000000_00001000_00001001_ HEX:40 04 01 00 08 09 HDR:01000000_00000100_00000001_00000000_11001000_11001001_ HEX:40 04 01 00 c8 c9 HDR:01000000_00000100_00000001_00000000_00101000_00101001_ HEX:40 04 01 00 28 29 ■ HEXの内容について 先頭2バイト=メーカーコード 次の3バイト=リモコンボタンに応じた固有コード 最後の1バイト=ボタン固有コード3バイトのチェックサム(XOR値???) ■ 家電協以外のリモコンは? 現在のところ対応していません。(主にソニー、NEC方式) 対応方法としては、picmon/infra.c に追加機能的に実装することができると思います。
タイムスタンプを変更しない
[[2010-02]] [[PICspx]] *PIC18F2550/4550/14K50によるAVR/PIC両用ライター [#jb10237f] -およびC言語でリライトしたHIDmonが1つのファームウェアに納まっています。 http://psp.dip.jp/web/jpg/PIC/pic3.jpg 左:PIC18F2550 中:18F14K50+PIC24FJ64 右:18F14K50+ATmega88((写真に写っているPIC24FJ64やATmega88チップはライターの書き込みターゲット、もしくはシリアル通信の相手としてオンボード実装しているだけです。pic18spxそのものの動作に必要と言う訳ではありません。)) -10PinのISPコネクタは上段がファーム更新用で、下段がターゲットマイコンへの接続用です。 ~ -真ん中の基板は18F14K50を3.3V動作させて、オンボードのPIC24FJ64にそのまま接続されています。 -PIC24F用の書き込みソフトも作成しました。 ~ -右側の基板はArduino互換機兼PIC/AVR両用ライターです。 --Arduinoとして動作させるときはPIC18F14K50のファームを差し替えてUSBシリアル変換器として動作させます。 ~ ---- ここに書かれている内容は分かりにくいと思いますので、初めて制作される方は~ 以下のkumanさんの解説ページも合わせてお読みください。 -http://www.geocities.jp/kuman2600/o19pic18spx.html -分かりやすい解説を作られたkumanさんに感謝します。 ~ ~ ------------ http://psp.dip.jp/web/jpg/PIC/14k50.jpg http://psp.dip.jp/web/jpg/ae18f2550.jpg ■ 概要 これは、MicroChipが提供している PIC18 のUSBアプリケーションフレームワーク に含まれているHID-Bootloader をもとにして作成した PIC18F専用の簡易モニタ(兼PIC/AVR両用ライター)です。 ■ 現在のステータス (1)PIC 18F2550/4550/14K50上で動作します。 (2)簡易モニタとして、picmon.exe が使えます。(メモリー、I/Oの参照と変更が可能です。) (3)HIDaspx の仮バージョンが動きます。(AVRライターとして使えます。) (4)picwrite.exe の仮バージョンが動きます。 (LVP書き込み専用ですがPICライターとして使えます。) (5)writer24.exe の仮バージョンが動きます。 (PIC24Fライタ) ■ 試し方 -まず、[[pic18boot]]を使用してファームウェアを書き込みます。 C:> picboot -r firmware/picmon-18F2550.hex -デバイスが18F2550/18F4550の場合は、picmon-18F2550.hexを、18F14K50の場合はpicmon-18F14k50.hexを書き込んでください。 次に、picmon を起動します。 C:> cd host C:host> picmon.exe -%%現在実装されているのは HIDCMD_PEEK と POKEだけです。%% -以下のコマンドは有効です。 "* HID_Monit Ver 0.1\n" "Command List\n" " d <ADDRESS1> <ADDRESS2> Dump Memory(RAM)\n" " dr <ADDRESS1> <ADDRESS2> Dump Memory(EEPROM)\n" " dp <ADDRESS1> <ADDRESS2> Dump Memory(PGMEM)\n" " e <ADDRESS1> <DATA> Edit Memory\n" " f <ADDRESS1> <ADDRESS2> <DATA> Fill Memory\n" " l <ADDRESS1> <ADDRESS2> List (Disassemble) PGMEM\n" " p ? Print PortName-List\n" " p . Print All Port (column format)\n" " p * Print All Port (dump format)\n" " p <PortName> Print PortAddress and data\n" " p <PortName> <DATA> Write Data to PortName\n" " p <PortName>.<bit> <DATA> Write Data to PortName.bit\n" " sleep <n> sleep <n> mSec\n" " bench <CNT> HID Write Speed Test\n" " boot Start user program\n" " run <address> Run user program at <address>\n" " user <arg> Run user defined function (usercmd.c)\n" " poll <portName> Continuous polling port\n" " poll <portName> <CNT> continuous polling port\n" " poll * <CNT> continuous polling port A,B,D\n" " graph <portName> Graphic display\n" " q Quit to DOS\n" -実行例 TARGET DEV_ID=25 PIC> d 000000 00 00 40 00 20 78 02 00 000008 08 41 22 68 05 00 07 20 000010 bf 04 02 80 ac 40 84 41 000018 5d 44 88 83 05 03 c4 41 000020 fe 20 85 84 0c e9 24 cb 000028 36 50 8c 22 22 f8 51 21 000030 04 44 25 dc 02 c0 31 14 000038 81 09 48 d4 43 10 d6 35 PIC> l 0 0000 6af7 clrf 0xf7, 0 0002 6af8 clrf 0xf8, 0 0004 d054 bra 0xae 0006 d330 bra 0x668 0008 ef04 f004 goto 0x808 000c d05d bra 0xc8 000e d27b bra 0x506 0010 d328 bra 0x662 0012 d32c bra 0x66c 0014 d32f bra 0x674 0016 d345 bra 0x6a2 0018 ef0c f004 goto 0x818 001c 0112 movlb 0x12 001e 0200 mulwf 0, 0 0020 0000 nop 0022 4000 rrncf 0, 0, 0 0024 04d8 decf 0xd8, 0, 0 0026 003c dw 0x3c ;unknown opcode PIC> q Bye. C:> ■ ディレクトリ構成 +- picspx/ -+-- picspx/ AVRライター (gcc) | +-- picwriter/ PIC18Fライター (gcc) | +-- writer24/ PIC24Fライター (gcc) | +-- picmon/ 簡易モニター (gcc) | +-- firmware/ ファームウェア (mcc18) ■ 回路図 (PIC 18F4550) [[circuit.txt]] を参照してください ■ AVRライターとしての試し方 18F2550/18F4550の4本のSPI信号を書き込み先のAVRチップに接続します。 18F4550上のpin番号:信号名 = SPI端子(AVRチップ上のピン名称) ----------------------------- 25:RC6=TX = Reset 33:RB0=SDI = MISO 34:RB1=SCK = SCK 26:RC7=SDO = MOSI ----------------------------- C:> cd picspx C:picspx> picspx-gcc.exe -r のようにして使います。 C:picspx> picspx-gcc.exe だけを入力すると使い方の表示が出ます。 picspx-gcc.ini が同じディレクトリにない場合は、少なくとも -ph オプションを手動で指定する必要があります。 ■ PICライターとしての試し方 接続: AVR用ISP 6PIN 書き込み対象 PIC18F2550/14K50 ------------------------------------------------------------ 1 MISO ------------------> PGD 2 Vcc ------------------> Vcc 3 SCK ------------------> PGC 4 MOSI ------------------> PGM 5 RESET ------------------> MCLR 6 GND ------------------> GND ・picwriter/picwrite.exe -r を実行して、PICのデバイスIDが表示できれば、接続はうまくいっています。 ・LVP書き込みモードのないPICや、既にHVP(高電圧)書き込み済みのPICは このPICライターでは読み書きできません。 ・LVP書き込み後のマイコン使用時は常時PGM端子を「プルダウン」して使用する 必要があります。 --------------------------- ■ hidmon-14k50 や hidmon-2550との違い ・一応、C言語で書かれています。(mcc18) ・コードサイズが大きいです。(5kB程度) ・USB のPIDが違います。 ・プロトコルも違います。 ・HID Reportの転送方法が異なります。 hidmonでは、全てコントロール転送(HidD_SetFeature/HidD_GetFeature) で行っていますが、picmonit.exeでは、EndPoint1に対するインタラプト転送 によりデータの受け渡しを行っています。 このため、インタラプト転送パケットがデバイスより送出されない限りは HID Reportを受け取ることができません。(ホストがタイムアウトになります) 送出された場合は、必ず受け取っておかないと、次パケットの受信時に、バッファ にたまった古いパケットを受け取って混乱することになります。 ■ 何に使えますか? ・picmon.exe 上のコマンドと、firmware上のコマンド受け取り処理の対を 自分で追加することにより、いろいろな機能を追加することが出来ます。 graphコマンドによる、10kHzサンプリング画像 PIC> graph PIC> graph portc trig 1 http://psp.dip.jp/web/jpg/PIC/infrared2.png アナログサンプリングは仮実装 PIC> graph analog PIC> graph analog trig サンプリング周期の変更方法 -firmware/main.c の修正によるもの -picmon.exe から、 p pr2 XX のようにしてPeriod2レジスタを書き換える方法 -さらに、T2CONレジスタをいじってプリスケーラーも変更する方法、など。 -ただし、データ引取り周期は1mS/パケット(64bye)が限度なので、60kHzが理論上の上限です。(これより速くしたい場合はCDCデバイスなどに変更したほうが良いでしょう) -30kHzでもUSBのフレームが間引かれた場合データ落ちが起きる可能性があります。(一応256byteのバッファは存在します) -アナログの場合1サンプル2byteなので30kHz以上には出来ません。 ---- *ダウンロード [#j6584c79] PIC側ファームウェア・HEXファイル、ソースファイル、 Windows側コマンドラインツール等一式。(2014-03-18: Windows8.1でデバイス認識しない問題を改善) -[[pic18spx-2010-0416.zip:http://psp.dip.jp/web/upload.cgi/PIC/pic18spx-2010-0416.zip]] ~ Windows8.1対応PIC側ファームウェアのみ(ソース込み) -[[pic18spx-2014-0317.zip:http://psp.dip.jp/web/upload.cgi/PIC/pic18spx-2014-0317.zip]] --- こちらは、新しいMLA(microchip-libraries-for-applications-v2013-06-15-windows-installer.exe)をベースに新規実装したものです。 --- このバージョンならば頑張れば mcc18ではない、XC8でビルドすることも不可能ではありません。(要確認) --- 今のところ、PIC18F2550でしかビルド出来ません。 --- picmon.exeで動作確認を行いましたが、AVR/PICライターの動作確認はまだです。 ~ Linux版のhidspxコマンドラインツール(''AVRライターソフト'')。(少しの変更でMacOSXでも動作すると思います) -[[pic18spx-linux.zip:http://psp.dip.jp/web/upload.cgi/PIC/pic18spx-linux.zip]] ~ ''おまけ'' HIDaspx(AVRライター)しか持っていない場合でもPIC18Fxxxxにファームを焼けます。 -read more : [[PICspx]] ~ Linuxホストからpicmon,picbootを試すことも出来ます。picmon/ ディレクトリで再コンパイルを行ってください。 -実行には今のところルート権限が必要です。 ~ ~ ''おまけ2'' *赤外線リモコン信号の解析機能を実装済みです。 [#u003335e] 上記''ダウンロード''のアーカイブ(pic18spx-XXXX.zip)を取得してください。 -■ 概要 PIC18F2550/4550を使用して、赤外線リモコンの受光波形を観測することが出来ます。 ■ 使い方 (1)firmware/picmon-18f2550.hex を焼きます。 (2)リモコン受信器(38kHz)の出力端子をPICのPortA.bit0に繋ぎます。 (3)PICデバイスをUSB経由で接続した後、 picmonit.exe を起動します。 C:picspx> picmon\picmonit.exe PIC> プロンプトが出たら、以下のコマンドを入力します。 PIC> graph porta infra (4)リモコン受信器に向けて、家電協規格の赤外線リモコン信号を送ります。 するとコンソールに、解析したビットを表示します。 HDR:01000000_00000100_00000001_00000000_10001000_10001001_ HEX:40 04 01 00 88 89 HDR:01000000_00000100_00000001_00000000_00001000_00001001_ HEX:40 04 01 00 08 09 HDR:01000000_00000100_00000001_00000000_00001000_00001001_ HEX:40 04 01 00 08 09 HDR:01000000_00000100_00000001_00000000_11001000_11001001_ HEX:40 04 01 00 c8 c9 HDR:01000000_00000100_00000001_00000000_00101000_00101001_ HEX:40 04 01 00 28 29 ■ HEXの内容について 先頭2バイト=メーカーコード 次の3バイト=リモコンボタンに応じた固有コード 最後の1バイト=ボタン固有コード3バイトのチェックサム(XOR値???) ■ 家電協以外のリモコンは? 現在のところ対応していません。(主にソニー、NEC方式) 対応方法としては、picmon/infra.c に追加機能的に実装することができると思います。
テキスト整形のルールを表示する
ログインまたはアカウント作成