This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| et:examples:timer:delay [2014/10/07 11:56] – raivo.sell | et:examples:timer:delay [2020/07/20 09:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ~~PB~~ | ||
| ====== Viide ====== | ====== Viide ====== | ||
| - | //Vajalikud teadmised: [HW] [[et: | + | //Vajalikud teadmised: |
| + | [HW] [[et: | ||
| + | [AVR] [[et: | ||
| + | [LIB] [[et: | ||
| ===== Teooria ===== | ===== Teooria ===== | ||
| Line 61: | Line 63: | ||
| while (count-- > 0) | while (count-- > 0) | ||
| { | { | ||
| - | // 1ms viide spetsiaalse funktsiooniga | + | // 1 ms viide spetsiaalse funktsiooniga |
| _delay_ms(1); | _delay_ms(1); | ||
| } | } | ||
| Line 70: | Line 72: | ||
| <code c> | <code c> | ||
| - | // Kodulabori tarkvaralise viite demonstratsioonprogramm. | + | // Kodulabori tarkvaralise viite näidisprogramm |
| - | // Programm vilgutab ~1 sekundi järel hetkeks LED-i. | + | // Programm vilgutab ~1 sekundi järel hetkeks LED-i |
| #include < | #include < | ||
| #include < | #include < | ||
| Line 82: | Line 84: | ||
| // Lõputu tsükkel | // Lõputu tsükkel | ||
| - | while (true) | + | while (1) |
| { | { | ||
| // LED-i süütamine | // LED-i süütamine | ||
| Line 90: | Line 92: | ||
| sw_delay_ms(100); | sw_delay_ms(100); | ||
| - | // LED kustutamine | + | // LED-i kustutamine |
| pin_set(led_debug); | pin_set(led_debug); | ||
| Line 102: | Line 104: | ||
| - | Järgnev programmikood on taimeril põhinev ehk riistvaraline viitefunktsioon, | + | Järgnev programmikood on taimeril põhinev ehk riistvaraline viitefunktsioon, |
| Tsüklis toimub loenduri algväärtustamine ja ületäitumise lipukese nullimine (sellesse 1 kirjutades). Seejärel oodatakse, kuni loendur loendab algväärtusest 256-ni, ehk ületäitumiseni. Ületäitumise hetkel läheb ületäitumise lipuke kõrgeks ja 1 ms viide ongi toimunud. Funktsiooni lõpus taimer peatatakse. | Tsüklis toimub loenduri algväärtustamine ja ületäitumise lipukese nullimine (sellesse 1 kirjutades). Seejärel oodatakse, kuni loendur loendab algväärtusest 256-ni, ehk ületäitumiseni. Ületäitumise hetkel läheb ületäitumise lipuke kõrgeks ja 1 ms viide ongi toimunud. Funktsiooni lõpus taimer peatatakse. | ||
| <code c> | <code c> | ||
| - | // Riistvaraline viide millisekundites | + | // Riistvaraline viide millisekundites |
| void hw_delay_ms(unsigned short count) | void hw_delay_ms(unsigned short count) | ||
| { | { | ||
| Line 140: | Line 142: | ||
| </ | </ | ||
| - | Esitatud viite funktsioon kasutab aga taimerite teeki, mille lähtekood | + | Esitatud viite funktsioon kasutab aga taimerite teeki, mille lähtekood |
| <code c> | <code c> | ||
| Line 202: | Line 204: | ||
| // Lõputu tsükkel | // Lõputu tsükkel | ||
| - | while (true) | + | while (1) |
| { | { | ||
| // LED-i süütamine | // LED-i süütamine | ||