This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| en:software:homelab:library:delay [2010/02/08 14:52] – mikk.leini | en:software:homelab:library:delay [2020/07/20 12:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Delay ====== | ====== Delay ====== | ||
| - | Tegu on tarkvaraliste ja riistvaraliste viite tekitamise funktsioonide teegi osaga. Viite funktsioone välja kutsudes jääb programm neid ettenähtud ajaks täitma ja muu programmi, välja arvatud katkestuste, | + | This part of library contains functions to generate delays in the program with software algorithms or with hardware timers. Delays do not block interrupts, therefore interrupts interfere with software delays. Delay functions are not pre-compiled to be compatible with different clock frequencies. |
| - | Viitefunktsioonid pole eelnevalt kompileeritud, | + | ===== Functions ===== |
| - | ===== Funktsioonid ===== | + | * **//void sw_delay_ms(unsigned short count)//** \\ |
| + | Software delay in milliseconds. Function expects the usage of some compiler optimization mode. Parameters: | ||
| + | * //count// - Delay time in milliseconds. 0 to 65535 ms. | ||
| - | | + | * **//void sw_delay_us(unsigned short count)//** \\ |
| - | * //count// - Viite aeg millisekundites. 0 kuni 65535 millisekundit. | + | |
| - | | + | * //count// - Delay time in microseconds. 0 to 65535 μs. |
| - | | + | |
| - | * **//void hw_delay_ms(unsigned short count)//** \\ Riistvaraline taimeril põhinev viide millisekundites. Funktsioon kasutab ATmega128 8-bitist taimerit 0. Olenevalt taktsagedusest võib tekkida kuni mõne millisekundi suurune viga. Täpsema viite saaks teha 16-bitiste taimeritega, | + | |
| - | * //count// - Viite aeg millisekundites. 0 kuni 65535 millisekundit. | + | |
| - | ===== Näide ===== | + | * **//void hw_delay_ms(unsigned short count)//** \\' |
| + | Hardware timer based delay in milliseconds. Functions use ATmega128 8-bit timer 0. Depending of the clock frequency, up to several milliseconds delay error may occur. Parameters: | ||
| + | * //count// - Delay time in milliseconds. 0 to 65535 ms. | ||
| - | Mõlemat liiki viitefunktsioonide kasutamise näide: | + | ===== Examples ===== |
| + | |||
| + | Demonstration of both types of delays. | ||
| <code c> | <code c> | ||
| Line 23: | Line 26: | ||
| int main(void) | int main(void) | ||
| { | { | ||
| - | // Tarkvaraline viide 100 ms | + | // Software base delay of 100 ms. |
| sw_delay_ms(100); | sw_delay_ms(100); | ||
| - | // Riistvaraline viide 100 ms | + | // Hardware timer based delay of 100 ms. |
| hw_delay_ms(100); | hw_delay_ms(100); | ||
| } | } | ||
| </ | </ | ||