print.c-Dateireferenz

Print Ausgabe Funktionen. Mehr ...

#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.


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

Definiert in Datei print.c.


Dokumentation der Funktionen

void PrintInt ( int  wert  ) 

Ausgabe eines Integer Wertes als String ueber die serielle Schnittstelle.

Parameter:
[in] wert Auszugebender 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
  EncoderInit();
  While(1)
  {
    PrintInt (encoder [0]);
    SerPrint ("   ");
    PrintInt (encoder [1]);
    SerPrint ("\n\r");
    MSleep (500); //0,5sek. warten
  }

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.

Parameter:
[in] wert Auszugebender 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 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.

Parameter:
[in] data null-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 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.

Parameter:
[in] zeichen auszugebendes 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 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 }


Erzeugt am Sun Nov 18 18:24:53 2007 für ASURO Library von  doxygen 1.5.1-p1