This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
et:examples:communication:rs232 [2010/02/11 18:54] – raivo.sell | et:examples:communication:rs232 [2020/07/20 09:00] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== RS-232 ====== | ====== RS-232 ====== | ||
- | //Vajalikud teadmised: [HW] [[et: | + | //Vajalikud teadmised: [HW] [[et: |
===== Teooria ===== | ===== Teooria ===== | ||
Line 15: | Line 15: | ||
[{{ : | [{{ : | ||
- | Andmete edastamine toimub UART liideses kaadri (inglise keeles //frame//) kaupa, milles on andmebitte olenevalt seadistusest 5 kuni 9. Enamlevinud andmehulk on siiski 8 bitti, ehk 1 bait. Peale andmebittide edastatakse kaadriga ka lisabitte, mille abil toimub andmete saabumise ja lõppemise hetke äratundmine vastuvõtja poolel. Esimest neist nimetatakse startbitiks, | + | Andmete edastamine toimub UART liideses kaadri (inglise keeles //frame//) kaupa, milles on andmebitte olenevalt seadistusest 5 kuni 9. Enamlevinud andmehulk on siiski 8 bitti, ehk 1 bait. Peale andmebittide edastatakse kaadriga ka lisabitte, mille abil toimub andmete saabumise ja lõppemise hetke äratundmine vastuvõtja poolel. Esimest neist nimetatakse startbitiks, |
Peale kaadri struktuuri on veel üks tähtis parameeter - see on boodikiirus (inglise keeles //baud rate//), millega määratakse edastatavate sümbolite arv ühes sekundis. Bood näitab nimelt sümbolite arvu. UART puhul on 1 bood aga 1 bitt ja seepärast kaadri juures bittidest saigi räägitud. Põhimõtteliselt võib andmete edastamiseks kasutada ükskõik millist boodikiirust, | Peale kaadri struktuuri on veel üks tähtis parameeter - see on boodikiirus (inglise keeles //baud rate//), millega määratakse edastatavate sümbolite arv ühes sekundis. Bood näitab nimelt sümbolite arvu. UART puhul on 1 bood aga 1 bitt ja seepärast kaadri juures bittidest saigi räägitud. Põhimõtteliselt võib andmete edastamiseks kasutada ükskõik millist boodikiirust, | ||
Line 27: | Line 27: | ||
<code c> | <code c> | ||
// | // | ||
- | // Kodulabori | + | // Kodulabori |
- | // Näide kasutab | + | // Näide kasutab |
// Arvuti terminalis sisestatud tekst kuvatakse LCD-l. | // Arvuti terminalis sisestatud tekst kuvatakse LCD-l. | ||
// | // | ||
#include < | #include < | ||
- | #include < | + | #include < |
// | // | ||
Line 55: | Line 55: | ||
// LCD ekraani seadistamine | // LCD ekraani seadistamine | ||
- | lcd_alpha_init(LCD_ALPHA_DISP_ON_BLINK); | + | lcd_gfx_init(); |
// Ekraanil tervituse ütlemine | // Ekraanil tervituse ütlemine | ||
- | lcd_alpha_write_string(" | + | lcd_gfx_write_string(" |
// Kursori teise rea algusesse viimine | // Kursori teise rea algusesse viimine | ||
- | lcd_alpha_goto_xy(0, row); | + | lcd_gfx_goto_char_xy(0, row); |
// Arvutile tere ütlemine | // Arvutile tere ütlemine | ||
- | usart_send_text(port, "Tere, kirjuta midagi!\r\n" | + | usart_send_string(port, "Tere, kirjuta midagi!\r\n" |
// Lõputu tsükkel | // Lõputu tsükkel | ||
Line 71: | Line 71: | ||
// Jadaliidesest märgi lugemine | // Jadaliidesest märgi lugemine | ||
if (usart_try_read_char(port, | if (usart_try_read_char(port, | ||
- | { | + | { |
// Kas tegu on reavahetuse märgiga? | // Kas tegu on reavahetuse märgiga? | ||
if (c == ' | if (c == ' | ||
Line 79: | Line 79: | ||
// Rea tühjendamine eelmisest teatest | // Rea tühjendamine eelmisest teatest | ||
- | lcd_alpha_clear_line(row); | + | lcd_gfx_clear_line(row); |
} | } | ||
else | else | ||
{ | { | ||
// Märgi otse ekraanile väljastamine | // Märgi otse ekraanile väljastamine | ||
- | lcd_alpha_write_char(c); | + | lcd_gfx_write_char(c); |
} | } | ||
} | } | ||
} | } | ||
} | } | ||
+ | |||
</ | </ | ||
+ | [[et: | ||
+ | |||
+ | [{{ : | ||
+ | |||
+ | Windows XP operatsioonisüsteemiga on kaasas programm HyperTerminal. See avaneb //Start// menüüst // |