etchでgpib

etchにはgpibが無いのか。
三月でsargeのセキュリティサポートが終了する。研究室の測定用のマシンは、sargeのkernel2.6で動かしているものがほとんどである。そろそろetchに乗り換えようと思って調べてみたら、etchにはgpibのパッケージが無いようだ。etchのリリース以前から、bugの中にはgpibがあって、bugfixを待っていたのだが、パッケージさえなくなっている。でも、lennyにはある。よく分からない。まあ仕方ないので、ソースからコンパイルするしかない。カーネルの再構築には時間がかかるので、あまり好きではないのだが。まあ、三台ぐらいだと思うし、なんとかなるだろう。

Read more...

UARTの同期

USBとUART
UARTではあたりまえだが、周波数の基準が多少異なっている場合には、通信がうまくいかない場合がある。USBの通信の仕方について読んでいて、思い付いたのだが、software UARTでも、ピンの変化に応じて同期を取り直したら、多少のボーレートのズレも気にならないのではないか。コードは多少長くなるが、AVRのアセンブラ関数を書いてみた。ピンの変化を調べるために、highとlowに分けなければならないので、約二倍の長さになってしまった。また、8bitの加算は、レジスタ間でしかできないようなので、その工夫も必要になった。動作確認はしていないが、今度必要になったときに使ってみよう。送信の方はそのままだけど。

Read more...

AVRとRS232Cで通信

AVRでRS232C
これまで、AVR同士ではUARTを使って通信は行っていたが、PCとの間で通信を行ってみた。MAX232でレベルコンバートして、tiny2313のUARTで受信を試みたが、全然うまくいかない。オシロで信号を見てみたら、文字化けしている。tiny2313はdefaultでは8MHzを8分割して1MHzで動いている。最初は無謀にも19200でやろうとしていたが、9600に落として、UBRRの値を6にしたら、なんとか通信できた。これでも-7%の誤差があるようだが、大丈夫だろうと思っていたら、ときどき通信できていないことに気づいた。 CLKPR=0x80; CLKPR=0x02; として、2MHzにしたら、今のところうまくいっている。このときの誤差は0.2%なので、今度こそ大丈夫だろう。それにしても、AVRは途中で周波数を変えられるんですね。昔、8086で10-8を切替えても落ちなかったのが思い出される。

Read more...

AVRのUART

software UART
AVRでは、UARTを使える端子は決まっている。reset端子をRxDに使いたいので、アセンブラ関数でsoftware UARTを作ってみた。信号の無いときは、highにして、start bitでlowにして、、といった感じで作ったら、あっさり動いた。正論理だか負論理だかわけが分からなくなってきたが。1MHzで19200bpsで動かしているが、問題はないようだ。ただし、読み取り中には割り込み等はできないので、注意が必要だ。これで、電流をあまり引き出せないreset端子をRxDにすることによって、もともとRxDだった端子をIOとして使えるようになった。

Read more...

AVRのニーモニック

AVRのアセンブラをすこし勉強した。
命令が思ったよりたくさんあって覚えに難いと感じたが、単純なことをするプログラムはそれほど苦労せずに書けそうだ。しかし、avr-gccでアセンブラ関数を使おうと思うのだが、そのやり方がまだ分からない。

Read more...

Mac OS 拡張フォーマット

hfsplus
Macで作ったDVDを読もうと思ったが、フォーマット形式が分からない。いろいろ調べたら、HFS+というものらしい。etchではhfsplusと指定したら、directoryは見えたが、中身は見えなかった。moduleを入れれば対応できるようだが、まあ面倒なので止めた。

Read more...

tiny26のtimer

timer割り込み
tiny26でtimer1を使おうと思って割り込みvectorを ISR(TIMER1_OVF_vect) としたらうまくいかない。includeファイルを見てみたら、 ISR(TIMER1_OVF1_vect) が正しいらしい。TIMER1_OVF0_vectが無いのにこんな名前にするのもよく分からないけど、まあ動いたからいいや。

Read more...

eeepc

噂のeeepcを見てきた。
どの店も売切れで、なかなか実機を置いてある場所がなかったが、なんとか見付けることができた。当り前だが大きさはカタログからの予想通りで、mobilegearを一回り大きくした感じ。ただ、displayは思ったより小さい感じだ。隣に工人舎が置いてあって比較すると、解像度の違いはかなり実感する。8インチモデルも出るという話もあるが。linux版を日本でも発売してくれないかな。ACERかGIGABYTEにも期待しよう。

Read more...

冷房

warmbiz?
今日は冷え込んで、机に座っても寒くて、集中できない。換気孔から冷たい空気が来ていたので、これが原因だと思って、工夫して穴を塞いでいたが、実は空調が冷房になっていたことに気がついた。単に暖房の設定温度が低いのが原因かとも思っていたが、これは盲点だった。以後、気を付けよう。

Read more...

cmpとdiff

ファイルの比較
MS-DOSではfcで行うが、UNIXでは当然コマンドが異なる。binaryの比較にはcmpが、textの比較にはdiffが便利なようだ。 MS-DOSとUNIXのコマンドの比較表があると便利なのだが、徐々に覚えていかないと。この前はdumpが見付からなかったら、odだったし。

Read more...