This is an old revision of the document!


Serial interface

This library provides AVR asynchronous serial interface usage functions.

Data types

  • 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 which only parameter is the index of interface (0 or 1).
  • adc_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
    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_BAUDRATE_ASYNC(baud)

Makrofunktsiooni USART mooduli asünkroonse režiimi boodikiiruse registri väärtuse arvutamiseks. Parameetrid:

  • baud - Boodikiirus.
  • Tagastab boodikiiruse registri väärtuse.
  • void usart_init_async(usart port, usart_databits data_bits, usart_stopbits stop_bits, usart_parity parity, usart_baudrate baudrate)

Jadaliidese asünkroonseks seadistamine. Parameetrid:

  • port - USART liidese muutuja.
  • data_bits - Andmebittide arv.
  • stop_bits - Stoppbittide arv.
  • parity - Paarsuse tüüp.
  • baudrate - Boodi kiirus, mis on arvutatud USART_BAUDRATE_ASYNC makro funktsiooniga.
  • void usart_send_char(usart port, char symbol)

Blokeeruv sümboli saatmise funktsioon. Funktsioon ootab, kuni saatmise puhver tühjeneb ja kirjutab sinna saatmiseks uue sümboli. Parameetrid:

  • port - USART liidese muutuja.
  • symbol - Saadetav sümbol.
  • void usart_send_string(usart port, char *text)

Blokeeruv teksti saatmise funktsioon. Parameetrid:

  • port - USART liidese muutuja.
  • text - Viit tekstile. Tekst peab lõppema binaarse 0 sümboliga.
  • bool usart_has_data(usart port)

Sisendpuhvris andmete olemasolu kontroll. Parameetrid:

  • port - USART liidese muutuja.
  • Tagastab true, kui sisendpuhvris on sümbol ja false kui mitte.
  • char usart_read_char(usart port)

Sisendpuhvrist sümboli lugemine. Enne lugemist peab veenduma, et puhvris on sümbol. Parameetrid:

  • port - USART liidese muutuja.
  • Tagastab sümboli.
  • bool usart_try_read_char(usart port, char *symbol)

Sisendpuhvri sümboli olemasolu kontroll ja selle lugemise ühisfunktsioon. Parameetrid:

  • port - USART liidese muutuja.
  • symbol - Viit sümbolile. Kui sisendpuhvris on sümbol, siis see kirjutatakse siia.
  • Tagastab true, kui sisendpuhvris oli sümbol ja false kui mitte.

Näide

Jadaliidese seadmistamine töötab asünkroonselt 8 andmebiti, ühe stoppbiti ja ilma paarsuse kontrollita boodikiirusel 9600. Programm saadab teksti, ootab, kuni saabub sümbol ja loeb selle siis välja.

#include <homelab/usart.h>
 
// port on jadaliides 0
usart port = USART(0);
 
int main(void)
{	
	char c;
 
	// Jadaliidese seadistamine
	usart_init_async(port,
		USART_DATABITS_8,
		USART_STOPBITS_ONE,
		USART_PARITY_NONE,
		USART_BAUDRATE_ASYNC(9600));
 
	// Teksti saatmine
	usart_send_string(port, "Tere\n");
 
	// Sissetuleva sümboli ootamine
	while (!usart_has_data(port)) {}
 
	// Sümboli lugemine
	c = usart_read_char(port);
}
en/software/homelab/library/usart.1269514304.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