2017年12月17日
sysdown(int dly) について調べたこと(備忘録)
ソースコードは下記の通り。
レジスターに値を代入し、D13のLEDを点滅させる内容。
レジスターに値を代入し、D13のLEDを点滅させる内容。
void
sysdown(int dly) // dly .. in msec
{
int i;
byte s;
SPCR = 0x00; // disable SPI
TCCR0B = 0x00; // stop timer0
TCCR0A = 0x02; // ctc mode
TIMSK0 = 0x00; // Disable all timer0 irqs
TIFR0 = 0x07; // clear flags
TCNT0 = 0x00;
OCR0A = 250 - 1;
TCCR0B = 0x03; // start timer0 pre = 1/64 i.e 250kHz
s = 0;
while(true) {
if (++s & 1)
PORTB |= 0x20; // D13 == HIGH (LED on)
else
PORTB &= 0xdf; // D13 == LOW (LED off)
for(i = 0; i < dly; i++) {
while((TIFR0 & 2) == 0)
;
TIFR0 = 0x07; // clear flags
}
}
}
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
-
no image
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/7098595
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。
この記事へのトラックバック