millis, ktorý kod bude lepší

Zde si můžeme předat nějaké ty zkušenosti.
  • Advertisement

millis, ktorý kod bude lepší

Příspěvekod Karo88 » ned 22. říj 2023 21:23:17

Ahojte,
riešim presne časovanie cez timer1 na 1ms chcem sa poradiť ktorý kód bude lepší.
Ďakujem za všetky postrehy
Kód: Vybrat vše
cli();//stop interrupts
//set timer1 interrupt at 1kHz
TCCR1A = 0;// set entire TCCR1A register to 0
TCCR1B = 0;// same for TCCR1B
TCNT1  = 0;//initialize counter value to 0
// set timer count for 1khz increments
OCR1A = 1999;// = (16*10^6) / (1000*8) - 1
//had to use 16 bit timer1 for this bc 1999>255, but could switch to timers 0 or 2 with larger prescaler
// turn on CTC mode
TCCR1B |= (1 << WGM12);
// Set CS11 bit for 8 prescaler
TCCR1B |= (1 << CS11); 
// enable timer compare interrupt
TIMSK1 |= (1 << OCIE1A);
sei();//allow interrupts


alebo

Kód: Vybrat vše
cli();
 // Nastavenie časovača 1 na generovanie prerušenia každú 1 ms
  TCCR1A = 0;
  TCCR1B = (1 << WGM52) | (1 << CS51) | (1 << CS50); // Režim CTC a preddeľovač 64
  OCR1A = 249; // Nastavenie hodnoty porovnania pre generovanie prerušenia každých 1 ms
  TIMSK1 = (1 << OCIE1A); // Povolenie prerušenia pri dosiahnutí hodnoty porovnania
sei();
Uživatelský avatar
Karo88
Chcíplotina
Chcíplotina
 
Příspěvky: 1
Registrován: čtv 19. říj 2023 8:44:59

Zpět na Arduino


  • Advertisement

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 2 návštevníků