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
en:software:homelab:library:usart [2010/02/08 14:52] mikk.leinien:software:homelab:library:usart [2020/07/20 12:00] (current) – external edit 127.0.0.1
Line 1: Line 1:
-====== Serial interface ======+====== Serial Interface ======
  
-Tegu on AVR universaalse jadaliidese kasutamise teegiga. Võimaldab asünkroonset andmete kirjutamist ja lugemist.+This library provides AVR asynchronous serial interface usage functions.
  
-===== Andmetüübid =====+===== Data Types =====
  
-  * **//usart//** \\ USART liidese registrite hoidmise andmetüüp. //usart//-tüüpi muutuja on konstantne ja see tuleb väärtustada kohe programmi alguses. Väärtustamise lihtsustamiseks on makrofunktsioon USART, mille parameetriks on liidese indeks (0 või 1)+  * **//usart//** \\ Data type to hold USART inteface control, status and data register addresses. //usart// typed variables should be initialized at the beginning of the program code. For initializations, there is a macro-functions //USART//whose only parameter is the index of interface (0 or 1).
-  * **//adc_usart_databits//** \\ Andmebittide arvu valiku tüüp. Väärtuste variandid: +
-    * //USART_DATABITS_5// - Andmebitte 5. +
-    * //USART_DATABITS_6// - Andmebitte 6. +
-    * //USART_DATABITS_7// - Andmebitte 7. +
-    * //USART_DATABITS_8// - Andmebitte 8. +
-    * //USART_DATABITS_9// - Andmebitte 9. +
-  * **//usart_stopbits//** \\ Stoppbittide arvu valiku tüüp. Väärtuste variandid: +
-    * //USART_STOPBITS_ONE// - Üks stoppbitt. +
-    * //USART_STOPBITS_TWO// - Kaks stoppbitti. +
-  * **//usart_parity//** \\ Paarsuskontrolli valiku tüüp. Väärtuste variandid: +
-    * //USART_PARITY_NONE// - Paarsuskontrolli ja -bitti ei kasutata. +
-    * //USART_PARITY_EVEN// - Ühtede paarisarvulisuse kontroll. +
-    * //USART_PARITY_ODD// - Ühtede paarituarvulisuse kontroll.+
  
-===== Funktsioonid =====+  * **//usart_databits//** \\ Data bits count enumeration data type. Options: 
 +    * //USART_DATABITS_5// - 5 data bits. 
 +    * //USART_DATABITS_6// - 6 data bits. 
 +    * //USART_DATABITS_7// - 7 data bits. 
 +    * //USART_DATABITS_8// - 8 data bits. 
 +    * //USART_DATABITS_9// - 9 data bits. 
 + 
 +  * **//usart_stopbits//** \\ Stop bits count enumeration data type. Options: 
 +    * //USART_STOPBITS_ONE// - One stop bit. 
 +    * //USART_STOPBITS_TWO// - Two stop bits. 
 + 
 +  * **//usart_parity//** \\ Parity mode enumeration data type. Options: 
 +    * //USART_PARITY_NONE// - Disabled. 
 +    * //USART_PARITY_EVEN// - Even parity. 
 +    * //USART_PARITY_ODD// - Odd parity. 
 + 
 +===== Functions =====
  
   * **//USART_BAUDRATE_ASYNC(baud)//** \\   * **//USART_BAUDRATE_ASYNC(baud)//** \\
-    Makrofunktsiooni USART mooduli asünkroonse režiimi boodikiiruse registri väärtuse arvutamiseksParameetrid+    Macro function to calculate USART baud rate register value in asynchronous modeParameters
-    * //baud// - Boodikiirus+    * //baud// - Desired baud rate
-    * Tagastab boodikiiruse registri väärtuse.+    * Returns baud rate register value.
  
   * **//void usart_init_async(usart port, usart_databits data_bits, usart_stopbits stop_bits, usart_parity parity, usart_baudrate baudrate)//** \\   * **//void usart_init_async(usart port, usart_databits data_bits, usart_stopbits stop_bits, usart_parity parity, usart_baudrate baudrate)//** \\
-    Jadaliidese asünkroonseks seadistamineParameetrid+    Initializes asynchronous USARTParameters
-    * //port// - USART liidese muutuja+    * //port// - USART interface variable
-    * //data_bits//Andmebittide arv+    * //data_bits//Data bits
-    * //stop_bits//Stoppbittide arv+    * //stop_bits//Stop bits
-    * //parity// - Paarsuse tüüp+    * //parity// - Parity mode
-    * //baudrate//Boodi kiirus, mis on arvutatud //USART_BAUDRATE_ASYNC// makro funktsiooniga.+    * //baudrate//Baud rate register value (can be calculated with //USART_BAUDRATE_ASYNC// macro function).
  
   * **//void usart_send_char(usart port, char symbol)//** \\   * **//void usart_send_char(usart port, char symbol)//** \\
-    Blokeeruv sümboli saatmise funktsioonFunktsioon ootab, kuni saatmise puhver tühjeneb ja kirjutab sinna saatmiseks uue sümboliParameetrid+    Blocking character transmissionFunctions wait until transmit buffer empties before writing a character to the bufferParameters
-    * //port// - USART liidese muutuja+    * //port// - USART interface variable
-    * //symbol// - Saadetav sümbol.+    * //symbol// - Character to be sent.
  
   * **//void usart_send_string(usart port, char *text)//** \\   * **//void usart_send_string(usart port, char *text)//** \\
-    Blokeeruv teksti saatmise funktsioonParameetrid+    Blocking string transmissionParameters
-    * //port// - USART liidese muutuja+    * //port// - USART interface variable
-    * //text// - Viit tekstileTekst peab lõppema binaarse 0 sümboliga.+    * //text// - Pointer to strin (char array)String has to end with null character.
  
   * **//bool usart_has_data(usart port)//** \\   * **//bool usart_has_data(usart port)//** \\
-    Sisendpuhvris andmete olemasolu kontrollParameetrid+    Checks for data in receive bufferParameters
-    * //port// - USART liidese muutuja+    * //port// - USART interface variable
-    * Tagastab //true//, kui sisendpuhvris on sümbol ja //false// kui mitte.+    * Returns //true// when there is a character in receive bufferand //false// when not.
  
   * **//char usart_read_char(usart port)//** \\   * **//char usart_read_char(usart port)//** \\
-    Sisendpuhvrist sümboli lugemineEnne lugemist peab veenduma, et puhvris on sümbolParameetrid+    Reads a character from receive bufferBefore reading user must check if there actually is  a received characterParameters:  
-    * //port// - USART liidese muutuja+    * //port// - USART interface variable
-    * Tagastab sümboli.+    * Returns character.
  
   * **//bool usart_try_read_char(usart port, char *symbol)//** \\   * **//bool usart_try_read_char(usart port, char *symbol)//** \\
-    Sisendpuhvri sümboli olemasolu kontroll ja selle lugemise ühisfunktsioonParameetrid+    Reads a character from receive buffer if there is anyParameters
-    * //port// - USART liidese muutuja+    * //port// - USART interface variable
-    * //symbol// - Viit sümbolileKui sisendpuhvris on sümbolsiis see kirjutatakse siia+    * //symbol// - Pointer to character variableIf there is a character in receive bufferit is written to the pointed variable
-    * Tagastab //true//, kui sisendpuhvris oli sümbol ja //false// kui mitte.+    * Returns //true// when there was a character in receive bufferand //false// when not.
  
-===== Näide =====+===== Example =====
  
-Jadaliidese seadmistamine töötab asünkroonselt andmebitiühe stoppbiti ja ilma paarsuse kontrollita boodikiirusel 9600. Programm saadab teksti, ootabkuni saabub sümbol ja loeb selle siis välja.+USART interface is configured to use data bits, one stop bit, 9600 bps baud rate and no parity modeProgram sends a stringwaits until some character is received and then reads it out.
  
 <code c> <code c>
 #include <homelab/usart.h> #include <homelab/usart.h>
  
-// port on jadaliides 0+// Use USART interface 0.
 usart port = USART(0); usart port = USART(0);
  
Line 75: Line 78:
  char c;  char c;
  
- // Jadaliidese seadistamine+ // Interface initialization.
  usart_init_async(port,  usart_init_async(port,
  USART_DATABITS_8,  USART_DATABITS_8,
Line 82: Line 85:
  USART_BAUDRATE_ASYNC(9600));  USART_BAUDRATE_ASYNC(9600));
  
- // Teksti saatmine + // String sending. 
- usart_send_string(port, "Tere\n");+ usart_send_string(port, "Hello\n");
  
- // Sissetuleva sümboli ootamine+ // Waiting for incoming data.
  while (!usart_has_data(port)) {}  while (!usart_has_data(port)) {}
  
- // Sümboli lugemine+ // Read out the received character.
  c = usart_read_char(port);  c = usart_read_char(port);
 } }
 </code> </code>
  
en/software/homelab/library/usart.1265633525.txt.gz · Last modified: (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