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 // | ||