ASURO Library
2.80
|
Funktionen zur seriellen Kommunikation. Mehr ...
#include "asuro.h"
gehe zum Quellcode dieser Datei
Funktionen | |
void | SerWrite (unsigned char *data, unsigned char length) |
Senden von Daten ueber die serielle Schnittstelle. | |
void | SerRead (unsigned char *data, unsigned char length, unsigned int timeout) |
Lesen von Daten ueber die serielle Schnittstelle. | |
Funktionen zur seriellen Kommunikation.
Senden und empfangen von Daten ueber die seriellen Schnittstelle.\n Diese Funktionen benoetigen einen laufenden Timer 2-Interrupt, da\n die Hardware vom Asuro und die 'Gegenstelle' getaktete Signale\n benötigen um sie als gueltig zu erkennen. Dieser Takt muss bei der\n verwendeten Hardware 36 kHz betragen. Er wird in der Init()-Funktion\n eingestellt und zusaetzlich in den Timer-Funktionen in time.c benutzt.
Definiert in Datei uart.c.
void SerRead | ( | unsigned char * | data, |
unsigned char | length, | ||
unsigned int | timeout | ||
) |
Lesen von Daten ueber die serielle Schnittstelle.
Die empfangenen Daten werden in der als Pointer uebergeben Variable data
dem Aufrufer zur verfuegung gestellt.
Der Aufrufer bestimmt ueber den Parameter Timeout, ob diese Funktion im
'blocking'- oder im 'nonblocking'-Mode laufen soll. Im 'blocking'-Mode
bleibt diese Funktion auf alle Faelle so lange aktiv, bis die, uber den
Parameter length, geforderte Anzahl Zeichen empfamgen wurde.
[out] | data | Zeiger auf die einzulesenden Daten |
[in] | length | Anzahl der zu lesenden Zeichen |
[in] | timeout | 0 = blockierender Mode Wird hier ein Wert groesser 0 uebergeben, wird nur eine gewisse Zeit lang versucht ein weiteres Zeichen ueber die Schnittstelle zu empfangen. Kommt in dieser Zeit kein weiteres Zeichen, wird im zurueckgegeben Parameter date das erste Zeichen auf 'T' gesetzt und die Funktion kehrt zum Aufrufer zurueck. Ansonsten wird die Funktion auf alle Faelle verlassen, wenn die als Parameter length geforderte Anzahl Zeichen empfangen werden konnten. |
Definiert in Zeile 158 der Datei uart.c.
void SerWrite | ( | unsigned char * | data, |
unsigned char | length | ||
) |
Senden von Daten ueber die serielle Schnittstelle.
Die zu senden Daten werden nicht als 0-terminierter C-String erwartet, sondern
es werden grundsaetzlich so viele Zeichen gesendet wie im 2.ten Parameter
angegeben werden. Deshalb sollte die Funktion eher zum Senden von Rohdaten verwendet werden (keine ASCII Zeichen) Zum Senden von Strings sollte stattdessen die Funktion SerPrint verwendet werden. Bei der aktuellen WinAVR Version (2007055) gibt es eine Warnung, falls ein String als 1. Parameter übergeben wird
[in] | *data | Zu sendende Daten |
[in] | length | Die Anzahl der zu sendenden Zeichen. |
Definiert in Zeile 93 der Datei uart.c.