| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| et:examples:communication:uart [2015/03/02 07:44] – mikk | et:examples:communication:uart [2020/07/20 09:00] (current) – external edit 127.0.0.1 |
|---|
| ~~PB~~ | <pagebreak> |
| ====== Jadaliides UART ====== | ====== Jadaliides UART ====== |
| |
| |
| [{{ :et:examples:communication:rs232:usb-serial_tn.jpg?200|USB - RS-232 muundur}}] | [{{ :et:examples:communication:rs232:usb-serial_tn.jpg?200|USB - RS-232 muundur}}] |
| Peaaegu kõigil mikrokontrolleritel eksisteerib üks või enam UART liidest ehk perifeeriat. UART-i standard ei määra kindlat signaalide pinget ja see sõltub mikrokontrolleri toitepingest mis on tavaliselt kas 3,3 V või 5,0 V. 5,0 V toitepingel töötava mikrokontrolleri signaalid vastavad TTL/CMOS standardile. Kui UART protokolliga on vaja ühendada eraldiseisvaid või kaugelasuvaid seadmeid siis kasutatakse füüsilist standardit nimega RS-232 milles on kasutusel pinged kuni -15 V ja +15 V ning milles on ära määratud ka pistiku tüüp DB-9. RS-232 standard on kasutusel peamiselt arvutite jadaportides, mida kutsutakse kõnekeeles ka „COM“ portideks. Selleks, et arvutit mikrokontrolleriga ühendada kasutatakse nivoomuundurit mis teisendab TTL/CMOS signaalid RS-232 pingetele ja vastupidi. Tänapäeval on RS-232 suures osas asendunud USB liidesega, kuid oma lihtsuse tõttu kasutatakse hobirakendustes RS-232 edukalt edasi, eriti veel siis, kui on olemas USB - RS-232 muundurid. Üks RS-232 eelis USB ees on ka selle kümnetes kordades pikem leviulatus kaablis. | Peaaegu kõigil mikrokontrolleritel eksisteerib üks või enam UART liidest ehk perifeeriat. UART standard ei määra kindlaks signaalide pinget ja see sõltub mikrokontrolleri toitepingest, mis on tavaliselt kas 3,3 V või 5,0 V. 5,0 V toitepingel töötava mikrokontrolleri signaalid vastavad TTL/CMOS standardile. Kui UART protokolliga on vaja ühendada eraldiseisvaid või kaugelasuvaid seadmeid, siis kasutatakse füüsilist standardit nimega RS-232, milles on kasutusel pinged kuni -15 V ja +15 V ning milles on ära määratud ka pistiku tüüp, milleks on DB-9. RS-232 standard on kasutusel peamiselt arvutite jadaportides, mida kutsutakse kõnekeeles ka „COM“ portideks. Selleks, et arvutit mikrokontrolleriga ühendada kasutatakse nivoomuundurit mis teisendab TTL/CMOS signaalid RS-232 pingetele ja vastupidi. Tänapäeval on RS-232 suures osas asendunud USB liidesega, kuid oma lihtsuse tõttu kasutatakse hobirakendustes RS-232 edukalt edasi sedaenam, et on olemas USB - RS-232 muundurid. Üks RS-232 eelis USB ees on ka selle kümnetes kordades pikem leviulatus kaablis. |
| |
| ===== Praktika ===== | ===== Praktika ===== |
| |
| Kodulabori Kombo moodulil on välja toodud väline UART liides (//ExtUART//). Selleks, et antud port arvutiga ühendada on vaja kasutada TTL UART<->RS232 või TTL UART<->USB ülemineku kaablit. | Kodulabori Kombomoodulil on välja toodud väline UART liides (//ExtUART//). Selleks, et antud port arvutiga ühendada on vaja kasutada TTL UART<->RS232 või TTL UART<->USB ülemineku kaablit. |
| |
| Näiteprogrammi testimiseks on vaja mõnda terminal tüüpi tarkvara, nt HyperTerminal (Windows XP). Linux operatsiooniga arvutitel võib kasutada programmi //minicom//. Kui terminal on mikrokontrolleri tööle panemise ajal avatud, tekib ekraanile tervitussõnum. Aknas sisestatud tähed kuvatakse LCD ekraanil. Klahvi //Enter// vajutus muudab rida LCD ekraanil. | Näiteprogrammi testimiseks on vaja mõnda terminal tüüpi tarkvara, nt HyperTerminal (Windows XP). Linux operatsiooniga arvutitel võib kasutada programmi //minicom//. Kui terminal on mikrokontrolleri tööle panemise ajal avatud, tekib ekraanile tervitussõnum. Aknas sisestatud tähed kuvatakse LCD ekraanil. Klahvi //Enter// vajutus muudab rida LCD ekraanil. |
| |
| // Lõputu tsükkel | // Lõputu tsükkel |
| while (true) | while (1) |
| { | { |
| if (usart_try_read_char(port, &c)) // Jadaliidesest märgi lugemine | if (usart_try_read_char(port, &c)) // Jadaliidesest märgi lugemine |