とりあえずHDDにインストールしてみることにする。USBメモリはあまりに遅いので待ってる間がつらいので。
開発環境の設定(cygwinのインストール) を参考にインストール。
何が参考になったかというと環境変数の設定だろうか。ただし、これはマイコンピュータのプロパティからシステム変数を設定するというやり方でSHELLなどに書き込むわけではないのでこれだけではUSBメモリでは使えない。
とりあえず、X-Windowが立ち上がる程度までがこのサイトでわかる。
スポンサーサイト
windows上で動くlinuxもどきのcygwinを学校の同級生に教えてもらい、USBメモリ2GBにただいま
インストール中だ。12時間はかかっている。
USBメモリからXwindowを起動する必要はないわなあ。
今、みてると2GBの容量ぎりぎりになりそう。おいおい、これは何ももうできないということでは。
firefoxを起動させたいという手段を目的にしてやっているのでそれが動いたらまあいいかな。
久し振りにunixコマンドを使うというのもリハビリにも就職にもいいと思うので、まあこのペースで
やってみよう。
しかし、インストールおわらんな。
とりあえずLED点灯回路を12F683で作成した。
これが光らないんだなあ。なんでやねん。
前回
#fuses INTRC_IO,NOWDT,PUT,NOPROTECT,NOMCLR,NOBROWNOUT #fuses HS,NOWDT,PUT,NOPROTECT,NOMCLR,NOBROWNOUT
と書いたが、そうじゃなくて
#fuses NOWDT,PUT,NOPROTECT,NOMCLR,NOBROWNOUT
としておいてPICライターのfuses設定で INTRC_IOを設定してやるとLEDが光る。しかし、光るピンと光らないピンがあって動作がやはり変。
mixiで質問すると的確な指摘があって、そこでネットで探して
setup_adc_ports(NO_ANALOGS);//A-Dコンバータは使わない setup_oscillator(OSC_8MHz);//内部オシレータは8MHz setup_comparator(NC_NC);//デジタル入力切り替え
という記述をmain()の中の先頭に入れてやったらビンゴ!光るじゃないですか。
というわけでLED点滅(点灯)の12F683のソースを書きます。参考にしてください。
#include <12f683.h> #fuses NOWDT,NOMCLR,NOPUT,NOBROWNOUT,NOPROTECT #use delay(CLOCK=8000000) //クロック8MHz #byte GP=5 #bit LED0=GP.0 #bit LED1=GP.1 #bit LED2=GP.2 #bit LED4=GP.4 void main(){ setup_adc_ports(NO_ANALOGS);//A-Dコンバータは使わない setup_oscillator(OSC_8MHz);//内部オシレータは8MHz setup_comparator(NC_NC);//デジタル入力切り替え set_tris_a(0x08);//GP3入力、他は出力 while(1){//繰り返す LED4 = 1; LED2 = 0; LED1 = 1; LED0 = 0; delay_ms(1000); //1秒待つ LED4 = 0; LED2 = 1; LED1 = 0; LED0 = 1; delay_ms(1000); //1秒待つ } }
そういうわけで同じようにプチロボXのソースも同様にしてPICライターで INTRC_IOを設定することで
完全に動作するようになった。うわー、長かった。
というかエレキジャックのこのソースをコンパイルして動作確認した人っているのだろうか?
ネットで検索かけても見つからなかったんだけど。
#fuses INTRC_IO,HS,
という記述はあんまりなので
#fuses INTRC_IO,NOWDT,PUT,NOPROTECT,NOMCLR,NOBROWNOUT
#fuses HS,NOWDT,PUT,NOPROTECT,NOMCLR,NOBROWNOUT
の両方でコンパイルして試してみたら INTRC_IOだとやはりLEDは光らない。HSだと光る。
ネットで色々検索するとINTRC_IOで正しいはず。
がー、どうなってるんだ。
あとタスクスイッチのON,OFFの検出もおかしいことが判明。
while(タスクスイッチ==ON){ }
みたいな記述作ると当然OFFになったらこのループから抜け出すはずなんだけど
抜け出さない。半笑い。
初心者じゃあ無理なの?
エレキジャックについていたプチロボXの赤外線コントローラーの受信部。
ソースファイルをccs-cでコンパイルしてみたが、動作せず。
ソースファイルを
#fuses INTRC_IO,HS,NOWDT,PUT,NOPROTECT,NOMCLR,NOBROWNOUT
と、HSを追加したところそれまで点滅してなかったLEDが点滅を開始。
しかしながらシリアルを通してロボットのサーボ側には何も反応がない。
うーん、このソース大丈夫なのかなあ?
hi-techのCコンパイラで動かす以前の問題になってきたぞ。
昨日ブレッドボードで作った電子サイコロの動作を確認して、エレキジャックのvol.5に付録で
ついていた基盤にパーツを半田づけする。見事に小型化してサイコロになった。
奥さんは気に入ってくれたが子供はそんなに喜ばず。そりゃそうだ。
そのあと、ノートパソコンの修理にヤマダデンキへ。
ノートパソコンにPICの開発環境をインストールしてたので、帰宅してからデスクトップ機のXPマシンに
インストールする。
ところが、ログオン名を日本語にしていたため開発環境のMPLAB IDEが起動しない。
現象はロゴが表示されるが消えたあと起動しないというもの。
システムの詳細設定で環境変数のTMPが%USERPROFILE%\Local Settings\Tempになっているのを適当なアルファベットのパスに設定してやる回避策をとる。
エレキジャックのvol.5に乗っているプチロボXの赤外線コントローラーを作ることにする。
いきなり基盤に半田づけした。hexファイルをエレキジャックのHPからダウンロードしてPICに
書き込んでみるとデモモードでプチロボXが左右前後に歩く。
ソースコードをいじってコンパイルしたいところだが、なんとコンパイラがCCS-Cで作成されて
おり、ソースもそれに合わせて作られていて手元にあるフリーのHI-techのCコンパイラでは
errorがでることが判明。
こりゃ相当ソースをいじらないといけない。
とりあえず、シリアル通信に関してはHi-techのsampleにserial.cというのがあるのでこれが
参考になりそうだ。道は遠い。
朝、回路を組み立て動作確認。出発ぎりぎりで動作した。ボタンを押すと点灯して離すと消灯する。
そんなLEDが4つある回路。PICのプログラムは簡単なソース。
学校の帰りにミスドに寄り1時間ほどPICプログラムの勉強というよりはC言語の勉強。
すっかり忘れている。
帰宅して4つのLEDが順番に光っていくというプログラムを作成。
DelayMs()関数のサンプルを探すのに手間取る。コンパイル失敗したりしたが、何がいけないのか
ちょっとわからない。
PICを使った回路の勉強がしたくて日本橋へ買い物。WEB通信販売でもいいのだろうがすぐにさわりたくて我慢ができなかった。結果的には通販では買えない部品もあって店員さんのアドバイスをいただいたので交通費も勉強代のひとつ。
共立シリコンハウスで雑誌のコピーを片手に部品を調達。ここでこうやって部品を買うのは中学の時以来だ。
まずPICライターを買う。
ADWIN社の安いやつ で7000円くらい。
これにACアダプターとPICの学習キットを購入。学習キットにはブレッドボードとパーツが入っていてあとはデバイスドライバやライティングソフトのCD-ROMと本で3000円ちょっと。本だけなら1000円だったのでブレッドボードをすでに持っているのなら不要だったかもしれないけど、1000円ちょっとの節約にしかならないし、こっちは初心者なのでキットのほうが結果的に良かった。
そのあと、ロボットの赤外線コントローラー製作のために部品を探す。最後にわからない部品を店員さんに聞くと取り扱ってない型番があって、それについては似た性質の部品FETなどを選んでもらった。
ついでに電子サイコロ用の部品も購入。もちろんパーツは予備品も買ったので1.5倍ぐらいの値段になったはず。それらばらばらのパーツを見ただけでレジ打ちをする店員さんにはびびった。プロだ。
帰宅してさっそく教材のサンプルを組み立てる。本をみながらソフトをインストールMPLAB IDEというPICの開発環境。それがインストール途中でadministrator権限がないから失敗という表示がでる。
administratorでログオンできないので
Windows Vista Administrator アカウントを有効にする方法 を参考にログオンして、インストール。こんどはスムーズにいった。ほっとくと今度は勝手にCコンパイラまでインストールがはじまった。本ではこれはダウンロードの手作業が必要だったはずだがうれしい。本ではPIC-LiteとなっていたがPROという表示があったのでグレードアップしてるのかもしれない。
とりあえずLEDの点灯回路を組み、サンプルコードを書いてビルド。このとき自分のノートパソコンのキーボードで動作しないキーがあることが判明。修理に出さねば。
というわけでLEDは無事にボタンを押すと点灯、消灯するという動作をして一応成功のようであるがまあ明日また調べよう。
お金はかかったが満足。
モーニング
ゆでたまご
トースト1枚
サラダ
オニオンスープ
果物
コーヒー
ごはん
餃子
オレンジカフェオレ
チョコレートケーキ
ごはん
ほうれんそうのいためたもの
他なにかのおかず
22:00 測定 74.6kg
フレンチトースト2枚
カフェオレ
ヨーグルト2個
もち3個のぜんざい
エクレア
バニラオーレ
バナナ2本
ごはん
揚げ物3枚
ホウレンソウの炒めたもの
スープ
22:30 測定 74.4kg
| HOME |