et:examples:communication:rs232
Differences
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/08 14:18] – Links to et:software:library:module:lcd_alphanumeric changed to et:software:homelab:library:module:lcd_alphanumeric mikk.leini | et:examples:communication:rs232 [2020/07/20 12: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 ===== | ||
| - | [{{ : | + | [{{ : |
| RS-232 on füüsilise andmesideliidese standard, mida kasutatakse binaarandmete edastamiseks. Standard on kasutusel peamiselt arvutite jadaportides, | RS-232 on füüsilise andmesideliidese standard, mida kasutatakse binaarandmete edastamiseks. Standard on kasutusel peamiselt arvutite jadaportides, | ||
| Line 11: | Line 11: | ||
| RS-232 liidest kasutatakse peamiselt koos UART nime kandva riistvaralise andmesidemooduliga, | RS-232 liidest kasutatakse peamiselt koos UART nime kandva riistvaralise andmesidemooduliga, | ||
| - | UART on lahtitõlgituna " | + | UART on lahtitõlgituna " |
| [{{ : | [{{ : | ||
| - | 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, | ||
| - | Lisainformatsioonina võiks teada, et RS-232 standard sisaldab peale andmesignaalide (RX, TX) veel andmevoo-kontrolli viike DTR, DCD, DSR, RI, RTS ja CTS, mida kasutatakse seadmetevahelise suhtluse juhtimiseks. Näiteks võib seade nende kaudu teada anda, kas ta on valmis andmeid vastu võtma või mitte. Kuna RS-232 liidese | + | Lisainformatsioonina võiks teada, et RS-232 standard sisaldab peale andmesignaalide (RX, TX) veel andmevoo-kontrolli viike DTR, DCD, DSR, RI, RTS ja CTS, mida kasutatakse seadmetevahelise suhtluse juhtimiseks. Näiteks võib seade nende kaudu teada anda, kas ta on valmis andmeid vastu võtma või mitte. Kuna RS-232 liidese |
| ===== Praktika ===== | ===== Praktika ===== | ||
| 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_puts(" | + | lcd_gfx_write_string(" |
| // Kursori teise rea algusesse viimine | // Kursori teise rea algusesse viimine | ||
| - | lcd_alpha_gotoxy(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_clr_line(row); | + | lcd_gfx_clear_line(row); |
| } | } | ||
| else | else | ||
| { | { | ||
| // Märgi otse ekraanile väljastamine | // Märgi otse ekraanile väljastamine | ||
| - | lcd_alpha_putc(c); | + | lcd_gfx_write_char(c); |
| } | } | ||
| } | } | ||
| } | } | ||
| } | } | ||
| + | |||
| </ | </ | ||
| + | [[et: | ||
| + | |||
| + | [{{ : | ||
| + | |||
| + | Windows XP operatsioonisüsteemiga on kaasas programm HyperTerminal. See avaneb //Start// menüüst // | ||
et/examples/communication/rs232.1265631539.txt.gz · Last modified: (external edit)
