Blog2Viewer

以前、Movable Typeで運用していたブログの内容を表示させるために作成したページです。
近況とか...
[caption id="attachment_10087" align="alignright" width="150"]最近作った基板 最近作った基板[/caption]最近は仕事を真面目にやり、家ではMinecraftとCiv 4ばかりなのでネタがなく、ブログを更新しずらい。

基板も作っているが、EAGLEでフツーに設計して、elecrowに発注、1週間ぐらいでフツーに届く。それで3千円。良い時代だが、あまり書くことが無い。seeedではなくelecrowにするのは基板の色を変えても安いから。スイッチサイエンスのseeed代行注文サービスも、納期・送料の点で微妙。



elecrowからのDHLの配送状況を見ていると、関空で入国後、関空、福岡、熊本で各1泊し4日目に届く。宅配便なら大阪から1泊で届くのにDHL頑張れよと思ってしまう。

作った基板にはバックアップ用の2032電池のホルダーを使用している。ホルダーは以前購入した廣杉計器のものが沢山あるので、それを使うことに決まっていたのだが、秋月電子にも似た感じのものがあったので試しに買ってみたら全然違った。コンパクトで良いのだが、片方の端子が露出していないので手半田実装は無理そう。でも廣杉計器のやつは結構高いので、秋月電子の別のものを試そう、とか言っているので基板がなかなか完成しない。

[gallery link="file" ids="10089,10090,10088"]

博多で買った厚い本2冊は、やっと目を通し終わった。プログラミング言語C++第4版は、ちゃんとC++全体を説明してくれていて、買ってよかった。C++もなかなか面白そうな感じになっている。標準ライブラリもかなり整理&充実しているようなので使ってみたい。

ERコンプリートDVD BOXは現在シーズン7で休憩中。面白いのだけど、さすがにちょっと休みたくなった。

今年の熊本城マラソンは5回めにして初めての落選。競争率は2倍ぐらいらしい。夏以降走っていないので、今シーズンはサボることにする。

作りたいものは色々あるのだが気力が無なくて時間を確保できない。MinecraftとCiv4にかけている時間の半分でも製作に振り向けられればかなり進みそうな気がする。少しづつ努力してみよう。

PIC32の状態変化割込みにハマる
PIC32MXにもデジタル入力端子の状態が変化した時に割込みをかける機能がある。他のCPUのものと同じようなものだろうと思っていたら、今回、ひどくハマってしまった。

PIC32の状態変化割込み機能の変わっている点は、外部端子と比較するためのレジスタをPORTレジスタ(GPIOの端子の値)を読み出すタイミングで更新する点。例えばPB4ポートで状態変化割込みが起きるように設定したとする。状態変化割込み後、PORTBを読み出せば、比較用のレジスタと端子の状態が同じになって割込み信号はクリアされる。割込み処理ルーチンでPORTBを読み出さないと、永遠に割込みということになる。通常は、状態変化を確認する必要があるのでPORTBを読み出すので、この点は問題無い。


問題は、PB4だけ読み出すというようなことが出来ない点。今回、しばらくすると割込みが起きなくなるという現象に遭遇し、調べたところ、PB4変化後、状態変化割込み処理ルーチンが動く前に、他の割込み処理でPORTBを読み出され、状態変化割込みがクリアされてしまっていた。割込みに有線順位をつけても回避は難しそうだし、そんなややこしいことはしたくない。

普通のやり方なら、PORTレジスタで割込みをクリアするのではなく、専用の割込みステータス・レジスタで割込みの発生を知らせ、クリアすることで再割込みを可能にするとかにするだろう。なんで、こんな仕様にしたのか謎。

PIC32の謎仕様というか、惜しい仕様としてはRTC機能。なかなか良いRTCが内蔵されているのだが、RTCだけに電源を供給するVbat端子が無い。PIC24FJ64GA3xx等にはVbat端子があるらしい。外付けRTCは買えば300円ぐらいするので是非PIC32MXにもVbat端子付きのものが欲しい。AVddがVbatの機能を兼ねて、Vddが0V, AVddが一定電圧以上であればDeep Sleepモードに落ちて、AVddからの電源でRTCだけ動くとかいうのはどうだろう。

あと、以前、PIC32には端子のプルアップ・プルダウン機能が無いのが惜しいとか書いていたが、実はあった。あるということは、その後石川さんの陰気な男でいいですかで読んで知ったのだが、今回初めて使ってみたら動いた。CNPUBやCNPDBみたいなレジスタで設定するのだが、データシートでは、状態変化割込みのところにしか説明が書いてない。名前からしても状態変化割込みを使わないと動作しないかもしれない気がするが、使わなくても使えるようだ。ということで、入力端子のプルアップ・ダウンができるようになって便利になった。
PIC32MX270購入
151026a5このところ、ずっとPIC32MX250を使ったシステムを開発中。なかなか終わらない。結構、飽きてきた。やばい...

余っているメモリを使えば、もうすこし大きい構成のものでも動かせるかもと思いつき、RAMの残り容量を調べると、少しだけ足りない。残念。上位品種に換えたらRAM容量は増えるのかとPIC32MX300台のデータシートを見るが200台と違いが無い。データシートも古いから、何か新しいChipが出ているのではないかとMicrochipのサイトを調べて PIC32MX270を発見! PIC32MX250からROM/RAMともに容量が倍! ROM 256Kbyte, RAM64Kbyte. すごい。



Digikeyサイトによると、在庫があるし250と値段も変わらない。ということで注文。digikeyだとカットテープの在庫が無く、今回はトレイで届いた。なんか不要な手間を取らせているようで心苦しいし、こちらで保管するのにも不便。Microchip Directだったらカットテープでとどくのかな?次回試してみたい。

[gallery link="file" ids="10108,10109,10107"]