uart_i.h-Dateireferenz

UART (RS232) Funktionen (mit Interrupt). Mehr ...

#include <avr/io.h>

gehe zum Quellcode dieser Datei

Funktionen

int8_t init_uart_int (int16_t ubrr, int8_t sendpuffersize, int8_t receivepuffersize)
 Initialisierung der Interrupt basierten UART-Funktionen.
int8_t init_uart_int_default ()
 Initialisierung der Interrupt basierten UART-Funktionen mit Standardwerten.
int8_t putc_i (int8_t c)
 Schreibt ein Zeichen/Byte in den Sendebuffer.
int8_t getc_i ()
 Empfang eines Zeichens.
int8_t gets_i (int8_t *string, uint8_t length)
 Liest mehrere Zeichen aus dem Empfangsbuffer aus.
int8_t puts_i (char *string)
 Versende eines Strings.
int8_t put_data_i (uint8_t *data, uint8_t length)
 Versende eines beliebigen Datenblocks.

Ausführliche Beschreibung

UART (RS232) Funktionen (mit Interrupt).

Interrupt basierte UART-Funktionen.


Dokumentation der Funktionen

int8_t getc_i (  ) 

Empfang eines Zeichens.

Rückgabe:
Liefert das nächste Zeichen in der Empfangswarteschlange zurück. Ist diese leer kehrt die Funktion sofort zurück. In diesem Fall wird O zurückgeliefert.
int8_t gets_i ( int8_t *  string,
uint8_t  length 
)

Liest mehrere Zeichen aus dem Empfangsbuffer aus.

Schreibt eine bestimmte Anzahl von Zeichen, die momentan im Empfangsbuffer sind, in den angegebenen Speicherbereich. Sind weniger Zeichen im Puffer kehrt die Funktion zurück.

Parameter:
string Beginn des zu beschreibenden Speicherbereich.
length Anzahl der zu lesenden Zeichen oder Begrenzung des Speicherbereichs.
Rückgabe:
Gibt die tatsächlich Anzahl der aus dem Empfangsbuffer gelesenen Zeichen zurück.
int8_t init_uart_int ( int16_t  ubrr,
int8_t  sendpuffersize,
int8_t  receivepuffersize 
)

Initialisierung der Interrupt basierten UART-Funktionen.

Erstellen der Ein/Ausgabe Puffer und Initialisierung des UARTs Da das Hauptprogramm hier nicht auf das ende der Übertragung warten muss, eignet sich das interruptbasierte Vorgehen besser zum debuggen von Anwendungen. Allerdings entstehen eventuell Probleme mit anderen Interrupts und je nach größe des Puffers und Auslastung können Daten verloren gehen.

Parameter:
ubrr gewünschte UBRR initialisierung
sendpuffersize Größe des Ausgabe Puffers
receivepuffersize Größe des Ausgabe Puffers
Rückgabe:
Gibt Werte größer Null bei fehlgeschlagener Initialisierung aus. Dies tritt auf, falls zuwenig SRAM für die Buffer zur Verfügung steht. Bei Erfolg wird eine 1 zurückgegeben.
int8_t init_uart_int_default (  ) 

Initialisierung der Interrupt basierten UART-Funktionen mit Standardwerten.

Der UART wird mit dem Standardwert UBBR=51 initalisiert. Das entspricht bei einer Taktfrequenz von 16MHz einer Baudrate von 19,2k Der Sendebuffer wird mit 20 Byte und der Empfangsbuffer wird mit 30Byte initialisiert.

int8_t put_data_i ( uint8_t *  data,
uint8_t  length 
)

Versende eines beliebigen Datenblocks.

Schickt einen Block der Länge length über den UART. Die Funktion springt ohne warten auf das Ende der Übertragung zurück.

Parameter:
data Zeiger auf den zu sendenden Datenblock.
length Anzahl der aus dem Speicherbereich data zu sendenden Bytes
Rückgabe:
Gibt bei Erfolg 0 Zurück. Falls der Buffer überläuft wird die Anzahl der übertragenen strings zurück gegeben.
int8_t putc_i ( int8_t  c  ) 

Schreibt ein Zeichen/Byte in den Sendebuffer.

Kehrt vor dem tatsächlichen Senden des Zeichens wieder zurück. Das tatsächliche Senden wird von einem Interrupt erledigt, sobald alle restlichen anstehenden Übertragungen erledigt sind.

Parameter:
c Das zu sendende Byte/Zeichen.
Rückgabe:
Gibt bei erfolgreichem Beschreiben des Puffers 0 zurück. Falls der Puffer gerade voll ist wird 1 zurückgegeben. Dann sollte bei Bedarf ein neuer Versuch gestartet werden.
int8_t puts_i ( char *  string  ) 

Versende eines Strings.

Schickt einen String über den UART. Die Funktion springt ohne warten auf das Ende der Übertragung zurück.

Parameter:
string Zeiger auf den zu sendenden Strings. Dieser muss nullterminiert sein, da keine Speicherüberprüfung stattfindet. Zum senden beliebiger Daten siehe put_dat_I();
Rückgabe:
Gibt bei Erfolg 0 Zurück. Falls der Buffer überläuft wird die Anzahl der übertragenen strings zurück gegeben.
Erzeugt am Thu Jul 8 17:02:08 2010 für avr-lrs von  doxygen 1.6.3