私はマイクロコントローラが初めてです。次のコードは、方形波の周期を測定します。私は理解していないいくつかの行をマークしました。コードは次のとおりです。
#include <avr/io.h>
#include <avr/interrupt.h>
ISR(TIMER1_CAPT_vect)
{
int counter_value = ICR1; //16 bit value
PORTB = (counter_value >> 7); // What has been done here?
TCNT1 = 0; // why this line?
}
int main(void)
{
DDRB = 0xFF;
TCCR1A = 0x00;
TCCR1B = 0b11000010;
TIMSK = 0b00100000;
sei();
while(1);
cli();
}
それらの行で実際に何が行われたのでしょうか?