Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
en:examples:delay [2009/03/05 10:20] – created raivo.sellen:examples:delay [2010/02/04 12:34] (current) – removed mikk.leini
Line 1: Line 1:
-Lihtsa viite tekitamine 
  
-Kontrollige, et optimeerimine oleks välja lülitatud: -O0 
-ja et AVRStudios oleks määratud kontrolleri taktsagedus: 14745600 
- 
-{{:et:failid:avrstudio_settings.jpg|}} 
- 
-<code c> 
-void delay1s(int count){ // ~0,09s 
- unsigned int i,j; 
- for(i=0;i<count;i++){ 
- for(j=0;j<65530;j++){asm volatile ("nop");}} 
-} 
- 
- 
-//Väljakutsumine programmist 
-delay1s(10); //0,9 sek. 
- 
-</code> 
- 
-Paus taimeriga. 
-Järgnevat pausi tekitamise koodi optimeerimine ei mõjuta. 
- 
-<code c> 
-// Paus millisekundites 
-// Pausi tegemiseks on kasutusel taimer 0 
-// Maksimaalne pausi aeg on 4500 ms 
-// Pausi täpsus on 3% 
-void aeg(unsigned int t) 
-{ 
-  // Maksimaalse aja piiramine 
-  if (t > 4500) t = 4500; 
-   
-  // Sagedusjaguri teguriks 1024 
-  TCCR1B = _BV(CS12) | _BV(CS10); 
-  
-  // Taimerile sellise väärtuse omistamine, et 
-  // t millisekundi pärast märgitakse katkestuse bitt 
-  TCNT1 = 0xFFFF - (unsigned int)((unsigned long)t * (unsigned long)144 / (unsigned long)10); 
-   
-  // Lõputu tsükkel kuni katkestuse bitt märgitakse 
-  while ((TIFR & _BV(TOV1)) == 0) 
-  { 
-  asm volatile ("nop"); 
-  } 
-   
-  // Katkestuse biti kustutamine toimub seda üheks kirjutades 
-  TIFR |= _BV(TOV1); 
-} 
-</code> 
- 
- 
-Viide kasutades util/delay.h päisfaili. 
-Probleem on maksimaalses väärtuses, mida _delay_ms aktsepteerib. 
-Järgnev funktsioon võimaldab kasutada oluliselt suuremaid viiteid. 
- 
-<code c> 
-void delay_ms(uint16_t ms) // Määrab pausi pikkuse 
-{ 
- while (ms)    // tsükkel, kuni ms väärtus on jõudnud nullini 
- { 
- _delay_ms(1); // 1ms viide 
- ms--;  // lahtutab igas tsüklis ühe maha 
- } 
-} 
-</code> 
en/examples/delay.1236248433.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0