Em đang tìm hiểu về Input Capture của con AVR. Em thử cái hàm để đếm cạnh xung lên, xuống của ngõ vào, nhưng không hiểu sao em nhận được cái biến dem chỉ tăng đến 1A là ngưng. Nhưngi nếu ở chương trình chính em xét cái biến dem đó thì nó lại luôn = 0. Mấy bác xem lỗi dùm em, em cám ơn.
interrupt [TIM1_CAPT] void timer1_capt_isr(void)
{
TCNT1 = 0; //
dorong = ICR1/4 ; // Xung clock atmega 4MHz
dem ++
truyenfile (dem); // truyen ve may tinh
if (PINB.0==1) TCCR1B = 0x41;// Chon xung ke tiep input ngat canh len
else TCCR1B = 0x01; // Chon xung ke tiep input ngat canh xuong
}
Cái hình này là em nhận trên máy tính
interrupt [TIM1_CAPT] void timer1_capt_isr(void)
{
TCNT1 = 0; //
dorong = ICR1/4 ; // Xung clock atmega 4MHz
dem ++
truyenfile (dem); // truyen ve may tinh
if (PINB.0==1) TCCR1B = 0x41;// Chon xung ke tiep input ngat canh len
else TCCR1B = 0x01; // Chon xung ke tiep input ngat canh xuong
}
Cái hình này là em nhận trên máy tính
Comment