Notīrīt taimeris Salīdzināt Match (CTC) režīmā problēmu

R

Razu Ahmmed

Guest
Man ir bijušas problēmas, strādājot ar CTC in ATMEGA. Es nevar uzrādīt pārtraukt pēc 1 sekundes, izmantojot CTC. Man konstatēja, ka OCR1AH vērtība nav nekā ar TCNT1H. Ko var darīt? Ieteikt needed.My kods ir šāda ........ # Ietvert int a = 0; neesošu Timer1compa_ISR () org IVT_ADDR_TIMER1_COMPA {PORTB = ~ PORTB; PORTD = 0xFF;} spēku main () {int i; DDRB = 0xFF; DDRD = 0xFF; DDRC = 0xFF; SREG_I_bit = 1; TIMSK | = (1
 
Jums trūkst / / timer1 salīdzināt spēles ISR par TIMSK = 0x10; Es arī nezinu, kāpēc jūs izmantojat TCCR1B | = (1
 
Šeit man ir problēma, piemēram, i am, izmantojot mikroC kā kompilatoru, tajā šādu kodu nav pieņemts .... OCR1A = i, un, kad es apliecinu, piemēram ...... OCR1AL = i; tad tas ir pieņemams, bet tas ir iespējams tikai tad, ja (i255, tad man ir atzīt to kā OCR1AL = Lo (i); OCR1AH = Hi (i), bet šajā gadījumā OCR1AH vērtība nav, salīdzinot ar summu no TCNT1H tikai OCR1L vērtība vērtību salīdzina, kā rezultātā es nevarēju iespēja salīdzināt lielu laika es nevaru saprast, faktiski, ko man darīt.. Help nepieciešams ..
 
Man vajag normālu kodu par ATMEGA Timer1 CTC in mikroC. Esmu vienkāršs kods, bet es nevaru saprast, kur ir mana kļūda i nevar salīdzināt laiku, kad i> 255. Palīdzība nepieciešama. # Include neparakstīts int i; neesošu inerrupt_ISP () org IVT_ADDR_TIMER1_COMPA {PORTB = ~ PORTB;} neesošu square_wave_init (spēkā neesošs) {DDRB = 0xFF; TIMSK | = (1
 

Welcome to EDABoard.com

Sponsor

Back
Top