趣味の電子工作と釣りについて。電子工作は、おもに変換器作成。釣りはおもにトラウトの管釣り。
暑ぢぃ。。。。。
こんなに暑いと、何もやる気がなくなる。。。。
仕方ないので、釣りに行くことにした。さすがにこれだけ暑いと、王禅寺は藻まみれ温水プールになっていることと思うので、じゃあ夏でも水が冷たい足柄にしようかとも思ったが、なんとなく家からいちばん近い早戸川へ。
早戸川は超田舎なので、これだけ暑くても大丈夫だろう、と思っていたら、途中で「リバースポット早戸 閉鎖中」との看板が出てる!がーーーーん。
ナイター目当てで向かっていたので、そこで引き返すと、変に行楽帰りの渋滞に巻き込まれる。仕方ない、とりあえず、様子だけでも見に行くとするか。。。。
着いた。。。
これは、、、、ただの濁った川だ。。。。
通常、自然の川を利用した管理釣り場というのは、魚が逃げないように、段々畑状になっているのだが、それが跡形もなく、流されている。。。。あれだけいた魚(今年は見てないけど)、全部宮ヶ瀬湖に流されちゃったのかな。。。。
ということは、宮ヶ瀬湖、けっこうニジマスとか、釣れそうだな。でも、宮ヶ瀬湖、降りるところないし、釣りできないみたい。
次に同じような目にあったら、早戸川から宮ヶ瀬湖に流れこんでいくようなところで試してみる予定。きっと、パラダイスや通天湖よりは釣れるはず。
こんなに暑いと、何もやる気がなくなる。。。。
仕方ないので、釣りに行くことにした。さすがにこれだけ暑いと、王禅寺は藻まみれ温水プールになっていることと思うので、じゃあ夏でも水が冷たい足柄にしようかとも思ったが、なんとなく家からいちばん近い早戸川へ。
早戸川は超田舎なので、これだけ暑くても大丈夫だろう、と思っていたら、途中で「リバースポット早戸 閉鎖中」との看板が出てる!がーーーーん。
ナイター目当てで向かっていたので、そこで引き返すと、変に行楽帰りの渋滞に巻き込まれる。仕方ない、とりあえず、様子だけでも見に行くとするか。。。。
着いた。。。
これは、、、、ただの濁った川だ。。。。
通常、自然の川を利用した管理釣り場というのは、魚が逃げないように、段々畑状になっているのだが、それが跡形もなく、流されている。。。。あれだけいた魚(今年は見てないけど)、全部宮ヶ瀬湖に流されちゃったのかな。。。。
ということは、宮ヶ瀬湖、けっこうニジマスとか、釣れそうだな。でも、宮ヶ瀬湖、降りるところないし、釣りできないみたい。
次に同じような目にあったら、早戸川から宮ヶ瀬湖に流れこんでいくようなところで試してみる予定。きっと、パラダイスや通天湖よりは釣れるはず。
PR
16F1827のADCにはバグがあって、回り道しないとハングすることは知っていたが、その回り道の方法が今まで間違っていた。
Errataには、ADCのクロックをFRCにするとGO/DONEを返さない(通常はハングに直結)のでFOSCを使え、と書いてある。なので、
ADCON1.ADCS0=1;
ADCON1.ADCS1=0;
ADCON1.ADCS2=0;
ADC_Read(0);
みたいな感じで使っていた。が、よ~くMikroCのマニュアルを読むと、ADC_Read(char channel)はFRC固定と書いてあった。つまり、いくらFOSCに指定しても、結局ADC_Readの中でFRCに変更されてしまうのだった。これでかな?ハングしまくっていたのは?
ということで、16F1827ではADC_Readは使用禁止。代わりに、ADC_Init、ADC_GetSampleを使用するべきである。まあ、下記のような関数を定義して、ADC_Readの代わりに使えばいいのかな?
unsigned int ADC_Read2(char channel)
{
unsigned int adc;
OSCCON=0b01110000; // 8MHz
ADC_Init();
ADCON1.ADCS0=1;
ADCON1.ADCS1=0;
ADCON1.ADCS2=0;
adc=ADC_Get_Sample(channel);
OSCCON=0b11110000; // 8MHz x 4
return adc;
}
いまのところハングしていないが、まだ様子見、といったところ。本当にこれでいいのかわからん。
もしもこれでいいなら、16F1938の場合にも有効かもしれない。
Errataには、ADCのクロックをFRCにするとGO/DONEを返さない(通常はハングに直結)のでFOSCを使え、と書いてある。なので、
ADCON1.ADCS0=1;
ADCON1.ADCS1=0;
ADCON1.ADCS2=0;
ADC_Read(0);
みたいな感じで使っていた。が、よ~くMikroCのマニュアルを読むと、ADC_Read(char channel)はFRC固定と書いてあった。つまり、いくらFOSCに指定しても、結局ADC_Readの中でFRCに変更されてしまうのだった。これでかな?ハングしまくっていたのは?
ということで、16F1827ではADC_Readは使用禁止。代わりに、ADC_Init、ADC_GetSampleを使用するべきである。まあ、下記のような関数を定義して、ADC_Readの代わりに使えばいいのかな?
unsigned int ADC_Read2(char channel)
{
unsigned int adc;
OSCCON=0b01110000; // 8MHz
ADC_Init();
ADCON1.ADCS0=1;
ADCON1.ADCS1=0;
ADCON1.ADCS2=0;
adc=ADC_Get_Sample(channel);
OSCCON=0b11110000; // 8MHz x 4
return adc;
}
いまのところハングしていないが、まだ様子見、といったところ。本当にこれでいいのかわからん。
もしもこれでいいなら、16F1938の場合にも有効かもしれない。
このブログが先日使えなくなった。なにも見えない。
音を立てずに消える。。。さすが忍者というべきか。
しかし、2日くらいして復活した。
「『忍者ツールズ』全サービスが表示不可となる障害復旧のお知らせ」
なるアナウンスが出ていて、こんなことが書いてあった。
1.ドメインが初期化された
2.DNSキャッシュの影響で最大72時間使えない
でも、何年か前にも、同じようなこと、してなかったかな???
ドメイン登録が切れる前に、レジストラから請求書を送ってきてくれたらいいんだが、普通はクレジットカード決済しかだめだったりする。で、切れる前にメールくらいは送ってくるのだが、決済を忘れるとドメインが消滅してしまうのだ。さらに都合の悪いことに、たいていのレジストラーは、ドメインが消滅したあと、偽の情報を長~い有効期限(2日くらい?)で登録しちゃうんで、急いでクレジットカード決済してドメイン復旧しても、インターネット全体ではなかなか回復しない。
ということを、今の担当者は知らなかったのだろう。不幸な時代だ。。。
ということはどうでもよくて、PIC16F1827+MikroCでADCを使う方法を今まで誤っていたので、メモを残そうと思ったが、書くの疲れたのでまた後日。
音を立てずに消える。。。さすが忍者というべきか。
しかし、2日くらいして復活した。
「『忍者ツールズ』全サービスが表示不可となる障害復旧のお知らせ」
なるアナウンスが出ていて、こんなことが書いてあった。
1.ドメインが初期化された
2.DNSキャッシュの影響で最大72時間使えない
でも、何年か前にも、同じようなこと、してなかったかな???
ドメイン登録が切れる前に、レジストラから請求書を送ってきてくれたらいいんだが、普通はクレジットカード決済しかだめだったりする。で、切れる前にメールくらいは送ってくるのだが、決済を忘れるとドメインが消滅してしまうのだ。さらに都合の悪いことに、たいていのレジストラーは、ドメインが消滅したあと、偽の情報を長~い有効期限(2日くらい?)で登録しちゃうんで、急いでクレジットカード決済してドメイン復旧しても、インターネット全体ではなかなか回復しない。
ということを、今の担当者は知らなかったのだろう。不幸な時代だ。。。
ということはどうでもよくて、PIC16F1827+MikroCでADCを使う方法を今まで誤っていたので、メモを残そうと思ったが、書くの疲れたのでまた後日。
PIC16F1827やPIC16F1938で、チップのリビジョンによって、動いたり、動かなかったりするぞ、ということがあった。古いチップだと動いて、新しいチップだと動かないので、チップのバグに違いない!と思っていたが、最近はMikroCの仕様(バグ)という気がしてきた。非同期シリアル(UART)を使うときに、MikroC標準関数でのボーレートの指定がうまく効かず、直接チップのレジスタを叩かなければ動かないことがあったので、以前の現象も本来やるべき初期化処理をMikroCがやっていないだけかもしれない。ということで、PIC16F1827やPIC16F1938は、チップ自体は悪くない、と今は思うようになった。
概ねス口コソが完成したので、より安定して使えるようにプリント基板をおこすことにした。いままで基板の設計はPCBEを使っていたが、今回はとてもそれで設計できる規模ではないので、もっと気の利いたものを使おうと思う。
で、Eagleにしようかなぁ、と思ったけど、無償版は制約が厳しすぎるのでやめた。もちろん有償版を買う金などあるわけがない。
と、そんなときに、Designspark PCBなるPCB設計ツールを見つけたので、使ってみた。
その感想は、、、、
1.Eagleと似ている
Eagleの使用経験があれば、マニュアルを読み込まなくてもなんとなく使える。Eagleでできることは大体できる。
2.使い勝手はEagleと同様あまりよくない
Eagleは使いやすいと思わなかったが、これも同じ感じ。
3.ライブラリが少なめ
まあ、無料だから仕方ないかな。。。
4.不安定?
よく落ちる。Windows3.1くらいの安定度と思えばいい。メモリー4MのMacで漢字Talk6を動かしたときぐらいかも。
5.落ちたらファイルが破壊されることがある
こまめにセーブするのはあたりまえ。
こまめにファイル名を変えてセーブする必要がある。
使えば、DesignSpark PCBがなぜ無償なのかわかる。有償でサポートできる品質に達していないからである。
でも、無償なら、「これはすごい!」ソフトだと思うので、しばらく使い込んでみることにした。
で、Eagleにしようかなぁ、と思ったけど、無償版は制約が厳しすぎるのでやめた。もちろん有償版を買う金などあるわけがない。
と、そんなときに、Designspark PCBなるPCB設計ツールを見つけたので、使ってみた。
その感想は、、、、
1.Eagleと似ている
Eagleの使用経験があれば、マニュアルを読み込まなくてもなんとなく使える。Eagleでできることは大体できる。
2.使い勝手はEagleと同様あまりよくない
Eagleは使いやすいと思わなかったが、これも同じ感じ。
3.ライブラリが少なめ
まあ、無料だから仕方ないかな。。。
4.不安定?
よく落ちる。Windows3.1くらいの安定度と思えばいい。メモリー4MのMacで漢字Talk6を動かしたときぐらいかも。
5.落ちたらファイルが破壊されることがある
こまめにセーブするのはあたりまえ。
こまめにファイル名を変えてセーブする必要がある。
使えば、DesignSpark PCBがなぜ無償なのかわかる。有償でサポートできる品質に達していないからである。
でも、無償なら、「これはすごい!」ソフトだと思うので、しばらく使い込んでみることにした。