Clear Timer på Sammenlign Match (CTC) Mode problem

R

Razu Ahmmed

Guest
Jeg har møtt problemer i arbeidet med CTC i atmega. Jeg kan ikke produsere avbryte etter 1 sekund ved hjelp av CTC. Jeg observerte at verdien av OCR1AH ikke sammenlignes med med TCNT1H. Hva kan gjøres? Foreslå needed.My koden er følgende ........ # Include int a = 0; void Timer1compa_ISR () org IVT_ADDR_TIMER1_COMPA {PORTB = ~ PORTB; PORTD = 0xFF;} void main () {int i; DDRB = 0xFF; DDRD = 0xFF; DDRC = 0xFF; SREG_I_bit = 1; TIMSK | = (1
 
Du mangler / / timer1 sammenligne matche en ISR på TIMSK = 0x10, jeg også vet ikke hvorfor du bruker TCCR1B | = (1
 
Her har jeg et problem som jeg bruker mikroC som kompilator, i det følgende kode ikke blir akseptert .... OCR1A = i; når jeg erklære som ...... OCR1AL = i, så det er akseptert, men det er bare mulig når (i255 så må jeg erklære det som OCR1AL = Lo (i); OCR1AH = Hi (i), men i dette tilfellet OCR1AH verdien ikke sammenlignes med verdien av TCNT1H bare verdien av OCR1L verdi sammenlignes som et resultat jeg kunne ikke i stand til å sammenligne en stor tid. Jeg kan ikke forstå egentlig hva jeg har å gjøre. Help nødvendig ..
 
Jeg trenger en normal code of Timer1 CTC for atmega i mikroC. Jeg har laget en enkel kode, men jeg kan ikke forstå hvor er min feil jeg kan ikke sammenligne tidspunkt i> 255. Hjelp trengs. # Include unsigned int i; void inerrupt_ISP () org IVT_ADDR_TIMER1_COMPA {PORTB = ~ PORTB;} void square_wave_init (void) {DDRB = 0xFF; TIMSK | = (1
 

Welcome to EDABoard.com

Sponsor

Back
Top