Daten durch UART an den PC senden

#530607
Lesenswert?

Hallo zusammen,

auf meiner Suche herauszufinden, wie man Daten per UART von meinem uc 
Atmel
AT89C51ED2 an den Pc sendet kam ich bisher zu folgendem:
1
#include "reg_c51.h"
2
#include <stdio.h>    // für sprintf
3
#include <cbsboard.h>    // für das CBS-Board Version2
4

5
#define LEDPort P2    // für P2 LEDPort verwenden
6

7
const float LSB = 0.01953;  // 5V / 256 Schritte = 0.01953
8
char uart_data;
9

10
void main (void) 
11
{
12
unsigned char AIn0Wert;      //AD0-Wert als 8-Bit-Variable
13
unsigned char buf [16];      //für LCD-Anzeige
14
float  UIn0Wert;      //für Skalierung des AD0-Werts auf 0 bis 5V  
15
initlcd ();        // LCD-Display initialisieren
16
testlcd ();        //LCD-Display testen und löschen
17

18
// UART-Teil, den ich auf der offiziellen Atmel Website gefunden habe
19
SCON = 0x50;    /* uart in mode 1 (8 bit), REN=1 */
20
BDRCON &=0xEC;          /* BRR=0; SRC=0; */
21
BDRCON |=0x0C;          /* TBCK=1;RBCK=1; SPD=0 */
22
BRL=0xFD;               /* 9600 Bds at 11.059MHz */
23
ES = 1;                 /* Enable serial interrupt  */
24
EA = 1;      /* Enable global interrupt */
25
BDRCON |=0x10;          /* Baud rate generator run*/
26

27
while (1)
28
{  
29
AIn0Wert = ain (0);  //Analogwert von Poti an Kanal 0 einlesen
30
LEDPort = AIn0Wert;  //an LEDs an P2 ausgeben 
31
aout (AIn0Wert);  //und an den Analogausgang
32
  
33
UIn0Wert = AIn0Wert * LSB;  //Skalierung auf 0 bis 5V
34

35
sprintf (buf,"HALLO");  
36
printlcd (buf,1);              
37
}  //  Ende Endlosschleife mit while
38
   
39
}


ist das soweit korrekt? wie schicke ich nun einen String an den rechner?

Gruß
Björn

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren