Differences

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

Link to this comparison view

et:examples:digi:timer [2009/03/05 10:17] – tekitatud raivo.sellet:examples:digi:timer [2009/11/04 13:43] (current) – eemaldatud mikk.leini
Line 1: Line 1:
-====== Timeri kasutamine. ====== 
-  
  
-Vilkuv LED. 
- 
-Programmi kood: 
- 
-<code c> 
-/* Labor 2 näide 
-Harjutus töötab laborikaardiga Basic v3 
- 
-LED-i vilgutamine kasutades taimerit 
-Raivo Sell 2008 
- 
-LED = 0 (põleb)  LED = 1 (kustunud) 
-PORDI suuna konfigureerimine: 1-väljund 0-sisend */ 
- 
-#include <inttypes.h> 
-#include <avr/io.h> 
-#include <avr/interrupt.h> 
- 
-static int i; //globaalne muutuja 
-int SAGEDUS = 10;  //defineeritakse vilkumise sagedus (taimeri ületäituvuse kordaja) 
- 
- 
-//defineeritakse biti inverteerimine pordis x 
-#define INV(x) ^=(1<<x)  
-//defineeritakse vigutatav LED konstandina 
-#define LED 4 
-// Katkestus - funkitsioon käivitub sii, kui taimeri buffer saab täis 
- 
-ISR (TIMER1_OVF_vect){  
- i++; // i suurendamine 1 võrra iga funktsiooni käivituse korral 
- if (i>SAGEDUS){ // Port inverteeritakse, kui i>SAGEDUS 
-     PORTC INV(LED); //Inverteeritakse port 
- i=0; //kordaja nullitakse 
- } 
-} 
- 
-int main (void) { 
- // Taimeri juhtregistrid 
- TCCR1A = 0x00; // Taimer normaal reziimis 
- TCCR1B = _BV(CS10); //clk/1 (No prescaling) 
-   
-    DDRC  = 0x38;  // DDRC  0bXX111000 
-    PORTC = 0x3F;  // PORTC 0bXX111111 
- 
-    TIMSK = _BV (TOIE1); // Lubatakse ületäitumise katkestus 
-    sei (); // Lubatakse globaalkatkestus 
- 
-    while(1); //Lõputu tsükkel 
-// Mingeid tegevusi programm ei täida. LED-i vilgutatakse läbi katkestuse 
-} 
-</code> 
et/examples/digi/timer.1236248254.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