ASURO Library  2.80
Funktionen
print.c-Dateireferenz

Print Ausgabe Funktionen. Mehr ...

#include "asuro.h"
Include-Abhängigkeitsdiagramm für print.c:

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.
 
void SerPrint_p (const char *data)
 Sendet einen null-terminierten String aus dem FLASH Speicher ueber die serielle Schnittstelle.
 

Ausführliche Beschreibung

Print Ausgabe Funktionen.

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

Hinweis:
Wer den USB IR Transceiver mit einem Terminalprogramm benutzen will,
muss dazu die aktuellen USB Treiber von der FTDI Homepage verwenden.
Diese CDM Treiber enthalten sowohl die VCP Treiber,
die das Terminalprogramm verwendet, als auch die D2XX Treiber,
die das Flasher Tool verwendet.
Zu finden sind die Treiber unter http://www.ftdichip.com/FTDrivers.htm .
Version
V— - 10.11.2003 - Jan Grewe - DLR
Original Version von der ASURO CD
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
V006 - 27.01.2008 - marvin
neue Funktion SerPrint_p
zur Ausgabe von Strings aus dem Programmspeicher

Definiert in Datei print.c.

Dokumentation der Funktionen

void PrintInt ( int  wert)

Ausgabe eines Integer Wertes als String ueber die serielle Schnittstelle.

Parameter
[in]wertAuszugebender Integer Wert (16Bit)
Autor
Robotrixer, marvin
Version
beta - 31.03.2005 - Robotrixer
first implementation
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)
Beispiel:
(Nur zur Demonstration der Parameter/Returnwerte)
// Beispiel fuer zeilenweise Ausgabe der Encoder Werte
While(1)
{
SerPrint (" ");
SerPrint ("\n\r");
MSleep (500); //0,5sek. warten
}

Definiert in Zeile 102 der Datei print.c.

{
char text [7]; // "-12345"
itoa (wert, text, 10);
SerPrint (text);
}
void PrintLong ( long  wert)

Ausgabe eines Long Wertes als String ueber die serielle Schnittstelle.

Parameter
[in]wertAuszugebender Long Wert (32Bit)
Autor
HermannSW, marvin
Version
2.70rc2 - 09.02.2007 m.a.r.v.i.n
first implementation (Idee von HermannSW)
Beispiel:
(Nur zur Demonstration der Parameter/Returnwerte)
// Beispiel fuer Ausgabe der Batterie Werte
long data;
While(1)
{
data = Batterie ();
PrintLong (data);
SerPrint ("\n\r");
MSleep (500); //0,5sek. warten
}

Definiert in Zeile 141 der Datei print.c.

{
char text [12]; // '-'1234567891'\0'
ltoa (wert, text, 10);
SerPrint (text);
}
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.

Parameter
[in]datanull-terminierter String
Siehe auch
SerWrite
Autor
stochri
Version
sto1 - 07.01.2007 - stochri
first implementation
V005 - 18.08.2007 - marvin
signed char als Parameter wg. Compilerwarnungen
Beispiel:
(Nur zur Demonstration der Parameter/Returnwerte)
// Beispiel fuer SerPrint
SerPrint ("Hallo ASURO!\r\n");

Definiert in Zeile 224 der Datei print.c.

{
unsigned char i = 0;
while (data [i] != 0x00)
UartPutc (data [i++]);
}
void SerPrint_p ( const char *  data)

Sendet einen null-terminierten String aus dem FLASH Speicher ueber die serielle Schnittstelle.

Parameter
[in]datanull-terminierter String
Autor
marvin
Version
V001 - 07.02.2008 - marvin
first implementation
Erlaeuterung:
Alle String Variablen belegen normalerweise neben dem Speicherplatz im
Programmspeicher (FLASH) zusätzlich denselben Speicherplatz im RAM.
Den Speicherplatz im RAM laesst sich vermeiden, indem man den Bezeichner
PROGMEM bei der Deklaration des Strings angibt.
Zum Auslesen einzelner Zeichen des Strings aus dem Programmspeicher
wird die Funktion pgm_read_byte aus der Standard Library verwendet.
Beispiel:
(Nur zur Demonstration der Parameter/Returnwerte)
// Beispiel fuer SerPrint_p
const char Text_im_FLASH[] PROGMEM = "FLASH String";
SerPrint_p (Text_im_FLASH);

Definiert in Zeile 263 der Datei print.c.

{
char c;
while ((c = pgm_read_byte(data)) != 0)
{
UartPutc (c);
data++;
}
}
void UartPutc ( unsigned char  zeichen)

Sendet einen einzelnen Character über die serielle Schnittstelle.

Parameter
[in]zeichenauszugebendes Zeichen
Autor
stochri
Version
sto1 - 07.01.2006 stochri
first implementation
V004 - 25.07.2007 - Sternthaler (Gemeldet von helmut_w)
Abschalten des Senders nach der Datenuebertragung zum sparen von Energie.
Beispiel:
(Nur zur Demonstration der Parameter/Returnwerte)
// 'wunderbaren' Text als einzelne Zeichen senden.
UartPutc ('H');
UartPutc ('e');
UartPutc ('l');
UartPutc ('l');
UartPutc ('o');

Definiert in Zeile 179 der Datei print.c.

{
UCSRB = 0x08; // enable transmitter
UCSRA |= 0x40; // clear transmitter flag
while (!(UCSRA & 0x20)) // wait for empty transmit buffer
;
UDR = zeichen;
while (!(UCSRA & 0x40)) // Wait for transmit complete flag (TXC)
;
UCSRB = 0x00; // disable transmitter / powersave
}