This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| en:software:homelab:library:usart [2010/02/08 14:40] – Page moved from en:software:library:usart to en:software:homelab:library:usart mikk.leini | en:software:homelab:library:usart [2020/07/20 12:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== | + | ====== |
| - | Tegu on AVR universaalse jadaliidese kasutamise teegiga. Võimaldab asünkroonset andmete kirjutamist ja lugemist. | + | This library provides |
| - | ===== Andmetüübid | + | ===== Data Types ===== |
| - | * **// | + | * **// |
| - | * **// | + | |
| - | * // | + | |
| - | * // | + | |
| - | * // | + | |
| - | * // | + | |
| - | * // | + | |
| - | * **// | + | |
| - | * // | + | |
| - | * // | + | |
| - | * **// | + | |
| - | * // | + | |
| - | * // | + | |
| - | * // | + | |
| - | ===== Funktsioonid | + | * **// |
| + | * // | ||
| + | * // | ||
| + | * // | ||
| + | * // | ||
| + | * // | ||
| + | |||
| + | * **// | ||
| + | * // | ||
| + | * // | ||
| + | |||
| + | * **// | ||
| + | * // | ||
| + | * // | ||
| + | * // | ||
| + | |||
| + | ===== Functions | ||
| * **// | * **// | ||
| - | | + | |
| - | * //baud// - Boodikiirus. | + | * //baud// - Desired baud rate. |
| - | * Tagastab boodikiiruse registri väärtuse. | + | * Returns baud rate register value. |
| * **//void usart_init_async(usart port, usart_databits data_bits, usart_stopbits stop_bits, usart_parity parity, usart_baudrate baudrate)// | * **//void usart_init_async(usart port, usart_databits data_bits, usart_stopbits stop_bits, usart_parity parity, usart_baudrate baudrate)// | ||
| - | | + | |
| - | * //port// - USART liidese muutuja. | + | * //port// - USART interface variable. |
| - | * // | + | * // |
| - | * // | + | * // |
| - | * //parity// - Paarsuse tüüp. | + | * //parity// - Parity mode. |
| - | * // | + | * // |
| * **//void usart_send_char(usart port, char symbol)//** \\ | * **//void usart_send_char(usart port, char symbol)//** \\ | ||
| - | | + | |
| - | * //port// - USART liidese muutuja. | + | * //port// - USART interface variable. |
| - | * //symbol// - Saadetav sümbol. | + | * //symbol// - Character to be sent. |
| * **//void usart_send_string(usart port, char *text)//** \\ | * **//void usart_send_string(usart port, char *text)//** \\ | ||
| - | | + | |
| - | * //port// - USART liidese muutuja. | + | * //port// - USART interface variable. |
| - | * //text// - Viit tekstile. Tekst peab lõppema binaarse 0 sümboliga. | + | * //text// - Pointer to strin (char array). String has to end with null character. |
| * **//bool usart_has_data(usart port)//** \\ | * **//bool usart_has_data(usart port)//** \\ | ||
| - | | + | |
| - | * //port// - USART liidese muutuja. | + | * //port// - USART interface variable. |
| - | * Tagastab | + | * Returns |
| * **//char usart_read_char(usart port)//** \\ | * **//char usart_read_char(usart port)//** \\ | ||
| - | | + | |
| - | * //port// - USART liidese muutuja. | + | * //port// - USART interface variable. |
| - | * Tagastab sümboli. | + | * Returns character. |
| * **//bool usart_try_read_char(usart port, char *symbol)// | * **//bool usart_try_read_char(usart port, char *symbol)// | ||
| - | | + | |
| - | * //port// - USART liidese muutuja. | + | * //port// - USART interface variable. |
| - | * //symbol// - Viit sümbolile. Kui sisendpuhvris on sümbol, siis see kirjutatakse siia. | + | * //symbol// - Pointer to character variable. If there is a character in receive buffer, it is written to the pointed variable. |
| - | * Tagastab | + | * Returns |
| - | ===== Näide | + | ===== Example |
| - | Jadaliidese seadmistamine töötab asünkroonselt | + | USART interface is configured to use 8 data bits, one stop bit, 9600 bps baud rate and no parity mode. Program sends a string, waits until some character is received and then reads it out. |
| <code c> | <code c> | ||
| #include < | #include < | ||
| - | // port on jadaliides | + | // Use USART interface |
| usart port = USART(0); | usart port = USART(0); | ||
| Line 75: | Line 78: | ||
| char c; | char c; | ||
| - | // Jadaliidese seadistamine | + | // Interface initialization. |
| usart_init_async(port, | usart_init_async(port, | ||
| USART_DATABITS_8, | USART_DATABITS_8, | ||
| Line 82: | Line 85: | ||
| USART_BAUDRATE_ASYNC(9600)); | USART_BAUDRATE_ASYNC(9600)); | ||
| - | // Teksti saatmine | + | // String sending. |
| - | usart_send_string(port, | + | usart_send_string(port, |
| - | // Sissetuleva sümboli ootamine | + | // Waiting for incoming data. |
| while (!usart_has_data(port)) {} | while (!usart_has_data(port)) {} | ||
| - | // Sümboli lugemine | + | // Read out the received character. |
| c = usart_read_char(port); | c = usart_read_char(port); | ||
| } | } | ||
| </ | </ | ||