Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
et:examples:communication:rs232 [2010/02/12 13:19] mikk.leiniet: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:hardware:homelab:controller]], [AVR] [[et:avr:usart]], [LIB] [[et:software:homelab:library:usart]], [LIB] [[et:software:homelab:library:module:lcd_alphanumeric]]//+//Vajalikud teadmised: [HW] [[et:hardware:homelab:controller]], [AVR] [[et:avr:usart]], [LIB] [[et:software:homelab:library:usart]], \\ [LIB] [[et:software:homelab:library:module:lcd_alphanumeric]]//
  
 ===== Teooria ===== ===== Teooria =====
Line 15: Line 15:
 [{{  :examples:communication:comm_uart_frame.png?319|UART kaader, kus S on startbitt, 0-7 andmebitid, P paarsuse bitt (olemasolul) ja T stoppbitt (või 2)}}] [{{  :examples:communication:comm_uart_frame.png?319|UART kaader, kus S on startbitt, 0-7 andmebitid, P paarsuse bitt (olemasolul) ja T stoppbitt (või 2)}}]
  
-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, mis on alati 0, teist aga stoppbitiks (või bittideks), mis on alati 1. Enne stoppbitti võib tulla ka paarsuse bitt, mida kasutakse andmete korrektsuse kontrolliks. Paarsuse bitt näitab, kas andmebittide hulgas on paaris või paaritu arv ühtesid. See, kumba näitu see omab, sõltub UART liidese häälestusest. Paaruse bitti tänapäeval enam üldjuhul ei kasutata ja selle saab häälestuses ka ära keelata. Nii nagu saab paarsuse bitti seadistada, saab ka andmebittide ja stoppbittide arvu.+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, mis on alati 0, teist aga stoppbitiks (või bittideks), mis on alati 1. Enne stoppbitti võib tulla ka paarsuse bitt, mida kasutakse andmete korrektsuse kontrolliks. Paarsuse bitt näitab, kas andmebittide hulgas on paaris või paaritu arv ühtesid. See, kumba näitu see omab, sõltub UART liidese häälestusest. Paarsuse bitti tänapäeval enam üldjuhul ei kasutata ja selle saab häälestuses ka ära keelata. Nii nagu saab paarsuse bitti seadistada, saab ka andmebittide ja stoppbittide arvu.
  
 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, kuid on olemas hulk üldkasutavaid boodikiirusi, mida tasub kasutada. Näiteks: 9600 bps, 19200 bps, 38400 bps, 57600 bps, 115200 bps. 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, kuid on olemas hulk üldkasutavaid boodikiirusi, mida tasub kasutada. Näiteks: 9600 bps, 19200 bps, 38400 bps, 57600 bps, 115200 bps.
Line 27: Line 27:
 <code c> <code c>
 // //
-// Kodulabori kontrollerimooduli arvutiga RS-232 kaudu liidestamine. +// Kodulabori Kontrollerimooduli arvutiga RS-232 kaudu liidestamine. 
-// Näide kasutab digitaalset sisend-väljundmoodulit koos LCD ekraaniga.+// Näide kasutab Digitaalset sisend-väljundmoodulit koos LCD ekraaniga.
 // Arvuti terminalis sisestatud tekst kuvatakse LCD-l. // Arvuti terminalis sisestatud tekst kuvatakse LCD-l.
 // //
 #include <homelab/usart.h> #include <homelab/usart.h>
-#include <homelab/module/lcd_alpha.h>+#include <homelab/module/lcd_gfx.h>
  
 // //
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("Ootan teadet");+ lcd_gfx_write_string("Ootan teadet");
  
  // 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
Line 71: Line 71:
  // Jadaliidesest märgi lugemine  // Jadaliidesest märgi lugemine
  if (usart_try_read_char(port, &c))  if (usart_try_read_char(port, &c))
- { + {
  // Kas tegu on reavahetuse märgiga?  // Kas tegu on reavahetuse märgiga?
  if (c == '\r')  if (c == '\r')
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);
  }  }
  }  }
  }  }
 } }
 +
 </code> </code>
 +
 +[[et:examples:communication:rs232:alpha|Koodi näide teksti LCD-le (Kodulabor ver 3.x ja vanemad)]]
  
 [{{  :examples:communication:comm_hyperterminal.png?250|HyperTerminal aken}}] [{{  :examples:communication:comm_hyperterminal.png?250|HyperTerminal aken}}]
  
 Windows XP operatsioonisüsteemiga on kaasas programm HyperTerminal. See avaneb //Start// menüüst //Accessories -> Communications -> HyperTerminal// valides. Ühenduse seadeteks valida 9600 bps, 1 start- ja 1 stoppbitt ilma paarsuse- ja vookontrollita. Kui HyperTerminal on avatud mikrokontrolleri tööle panemise ajal, tekib ekraanile tervitussõnum. Aknas sisestatud tähed kuvatakse aga alfabeetilise LCD ekraanil. Klahvi //Enter// vajutus muudab rida LCD ekraanil. Windows XP operatsioonisüsteemiga on kaasas programm HyperTerminal. See avaneb //Start// menüüst //Accessories -> Communications -> HyperTerminal// valides. Ühenduse seadeteks valida 9600 bps, 1 start- ja 1 stoppbitt ilma paarsuse- ja vookontrollita. Kui HyperTerminal on avatud mikrokontrolleri tööle panemise ajal, tekib ekraanile tervitussõnum. Aknas sisestatud tähed kuvatakse aga alfabeetilise LCD ekraanil. Klahvi //Enter// vajutus muudab rida LCD ekraanil.
et/examples/communication/rs232.1265980772.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0