Wyczyść licznik czasu na Porównaj Match (CTC) problem Tryb

R

Razu Ahmmed

Guest
Mam w obliczu problemów w pracy z CTC w atmega. I nie może produkować przerwać po 1 sekundzie przy CTC. I zauważył, że wartość OCR1AH nie jest w porównaniu z z TCNT1H. Co można zrobić? Zaproponuj kod needed.My jest po ........ # Include int a = 0; Timer1compa_ISR void () {PORTB org IVT_ADDR_TIMER1_COMPA = ~ PORTB; PORTD = 0xFF;} void main () {int i; DDRB = 0xFF; DDRD = 0xFF; DDRC = 0xFF; SREG_I_bit = 1; TIMSK | = (1
 
Brakuje / / timer1 porównać meczu ISR na TIMSK = 0x10; Ja też nie wiem dlaczego używasz TCCR1B | = (1
 
Tu mam problem jak używam mikroC jak kompilator, w nim następujący kod nie jest akceptowane .... OCR1A = i; kiedy oświadczam, takich jak ...... OCR1AL = i; to jest akceptowane, ale jest to możliwe tylko, gdy (i255 to muszę oświadczyć, że jak OCR1AL = Lo (i); OCR1AH = Hi (i), ale w tym przypadku wartość OCR1AH nie jest w porównaniu z wartością z TCNT1H tylko wartość OCR1L wartość jest porównywana z powodu nie mogłem w stanie porównać duży czas. Nie mogę zrozumieć, co właściwie mam zrobić. Pomoc potrzebna ..
 
Potrzebuję normalnego kodu z Timer1 CTC atmega w mikroC. Zrobiłem prosty kod, ale nie mogę zrozumieć, gdzie jest mój błąd i nie można porównywać czas, kiedy i> 255. Pomoc potrzebna. # Include int i; inerrupt_ISP void () {PORTB org IVT_ADDR_TIMER1_COMPA = ~ PORTB;} square_wave_init (void) {DDRB = 0xFF; TIMSK | = (1
 

Welcome to EDABoard.com

Sponsor

Back
Top