#include "asuro.h"
gehe zum Quellcode dieser Datei
Funktionen | |
void | PrintInt (int wert) |
Ausgabe eines Integer Wertes als String ueber die serielle Schnittstelle. | |
void | PrintLong (long wert) |
Ausgabe eines Long Wertes als String ueber die serielle Schnittstelle. | |
void | UartPutc (unsigned char zeichen) |
Sendet einen einzelnen Character über die serielle Schnittstelle. | |
void | SerPrint (char *data) |
Sendet einen null-terminierten String ueber die serielle Schnittstelle. Im Gegensatz zur SerWrite Funktion wird bei dieser Funktion kein Parameter mit der Anzahl der zu sendenden Zeichne benötigt. Es wird einfach bis zum Stringende (0-Character) gesendet. |
Die Ausgabe der Zeichen erfolgt ueber die IR LED an der seriellen Schnittstelle.
Ueber den IR Transceiver koennen die Zeichen empfangen und in einem Terminalprogramm
vom PC dargestellt werden.
Dazu muss bei den Einstellungen des Terminalprogramms die COM Schnittstelle
ausgewaehlt werden, an der der IR Transceiver haengt.
Die weiteren Schnittstellenparameter sind:
2400 Baud, 8 Databits, no parity, 1 Stopbit, Hardware Handshake none
V--- - bis zum 07.01.2007 -
Bitte in Datei CHANGELOG nachsehen.
V001 - 13.01.2007 - m.a.r.v.i.n
+++ Alle Funktionen
Zerlegte Sourcen in einzelne Dateien fuer eine echte Library.
V002 - 09.02.2007 - m.a.r.v.i.n
+++ PrintLong () NEU
Ausgabe eines Long Wertes als String ueber die serielle Schnittstelle.
+++ Alle Funktionen
Kommentierte Version
V003 - 14.02.2007 - Sternthaler
+++ Alle Funktionen
Kommentare einheitlicher zu den anderen Sourcen.
V004 - 25.07.2007 - Sternthaler (Gemeldet von helmut_w)
+++ UartPutc ()
Abschalten des Senders nach der Datenuebertragung zum sparen von Energie.
V005 - 18.08.2007 - marvin
+++ SerPrint ()
signed char als Parameter wg. Compilerwarnungen
Definiert in Datei print.c.
void PrintInt | ( | int | wert | ) |
Ausgabe eines Integer Wertes als String ueber die serielle Schnittstelle.
[in] | wert | Auszugebender Integer Wert (16Bit) |
2.60 - 28.09.2005 - m.a.r.v.i.n
strlen verwenden, anstelle fester Laenge
2.61 - 20.11.2006 - m.a.r.v.i.n
Initialisierung text String kann zu Fehler
beim Flashen mit RS232/IR Adapter fuehren
(Bug report von francesco)
2.70b- 07.01.2007 - m.a.r.v.i.n
SerPrint Funktion anstelle SerWrite verwenden
2.70rc2- 09.02.2007 - m.a.r.v.i.n
Text Laenge auf 7 erhoeht, fuer Ausgabe negativer Werte (Bug Report von HermannSW)
Definiert in Zeile 99 der Datei print.c.
00101 { 00102 char text [7]; // "-12345" 00103 00104 itoa (wert, text, 10); 00105 SerPrint (text); 00106 }
void PrintLong | ( | long | wert | ) |
Ausgabe eines Long Wertes als String ueber die serielle Schnittstelle.
[in] | wert | Auszugebender Long Wert (32Bit) |
Definiert in Zeile 138 der Datei print.c.
00140 { 00141 char text [12]; // '-'1234567891'\0' 00142 00143 ltoa (wert, text, 10); 00144 SerPrint (text); 00145 }
void SerPrint | ( | char * | data | ) |
Sendet einen null-terminierten String ueber die serielle Schnittstelle. Im Gegensatz zur SerWrite Funktion wird bei dieser Funktion kein Parameter mit der Anzahl der zu sendenden Zeichne benötigt. Es wird einfach bis zum Stringende (0-Character) gesendet.
Zum Senden von Rohdaten (keine ASCII Zeichen) sollte sattdessen die Funktion SerWrite verwendet werden.
[in] | data | null-terminierter String |
V005 - 18.08.2007 - marvin
signed char als Parameter wg. Compilerwarnungen
// Beispiel fuer SerPrint SerPrint ("Hallo ASURO!\r\n");
Definiert in Zeile 221 der Datei print.c.
00223 { 00224 unsigned char i = 0; 00225 00226 while (data [i] != 0x00) 00227 UartPutc (data [i++]); 00228 }
void UartPutc | ( | unsigned char | zeichen | ) |
Sendet einen einzelnen Character über die serielle Schnittstelle.
[in] | zeichen | auszugebendes Zeichen |
V004 - 25.07.2007 - Sternthaler (Gemeldet von helmut_w)
Abschalten des Senders nach der Datenuebertragung zum sparen von Energie.
Definiert in Zeile 176 der Datei print.c.
00178 { 00179 UCSRB = 0x08; // enable transmitter 00180 UCSRA |= 0x40; // clear transmitter flag 00181 while (!(UCSRA & 0x20)) // wait for empty transmit buffer 00182 ; 00183 UDR = zeichen; 00184 while (!(UCSRA & 0x40)) // Wait for transmit complete flag (TXC) 00185 ; 00186 UCSRB = 0x00; // disable transmitter / powersave 00187 }