Archive for 11月 4th, 2009

AVR割り込みメモ

Posted by ゆのじ on 11月 4th, 2009

またはまっていた。AVRのPCINT割り込みを使う場合のはまりどころ。特に頭が疲れているとやらかしかねない。

割り込みレジスタ関連:

PCMSKnにビットを立てただけでは駄目。PCICRにPCIEnを指定しよう。

割り込み内エッジ処理関連:

PCINT割り込みはINT割り込みと違ってエッジの指定が出来ないので自分でやる必要がある。ここでぼーっとしてると

ISR(PCINT3_vect)
{
	if(bit_is_set(PORTD, PD4)) {
		// rise
	} else {
		// fall
	}
}

と書いてしまいがち。正しくはこう。

ISR(PCINT3_vect)
{
	if(bit_is_set(PIND, PIND4)) {
		// rise
	} else {
		// fall
	}
}

PORTnだと生の値が拾えないので忘れずに。

 

なんというか、昔もこうだったっけ、ということだらけ。十分なリハビリが必要そうで泣ける。

ThinkPad直ったかもしれず

Posted by ゆのじ on 11月 4th, 2009

ちょっと前のポストで壊れたと書いたThinkPad、ばらばらのままでは邪魔なので組み立て直したのだが、どうも症状が再現しなくなった。直ったかもしれない・・

lcd_back

というだけではポストとしてなんなので、何をしたかを書いておくと、ThinkPadのLCDをあけて、裏側をみると、1カ所半固定抵抗がついているのが見える(上の写真参照)。見えないならパネルが違う。よく見るとその半固定抵抗の部分だけかぶせてあるフィルムに切れ目が入れてあって、どうやら出荷時に何かの調整をするために残してある部分らしい。で、何をするかというと、これにデコピンをかますだけ。デコピンが嫌なら適当なものでかるーく衝撃を与えてやるかすると良いかもしれない。これだけ。

おそらく、半固定抵抗の接触不良かなにかで接触が悪くなったということなのではないかと推測する。この手合いの摺動抵抗器ではよく起こる現象ではあるので、致し方ないとはいえなんというか。

いざというときほど心を落ち着けて、故障解析をせよということを今後の教訓としよう。がっくし。