Forum: Mikrocontroller und Digitale Elektronik Serille Schnittstelle 89c51


von Gert (Gast)


Lesenswert?

Also ich steh bei dem Problem, dass ich einen Sender (GPS EM-411) auf 
dem Portpin: TX(des Senders) auf P1_4
Portpin: RX(des Senders) auf P1_5
hängen hab.

Nun jetzt schickt mir der Sender mit 4800 Baud die Daten auf den PIN 
P1_4 und ich will nun das Empfangene auf die serielle Schnittstelle 
ausgeben. (Quasi P1_4 durchschleifen auf TXD des 89c51).

Ih häng voll fest!

Ich weiss es klingt Simple aber ich checks grad gar nicht:)

Vielleicht kann mah wer schnell helfen...

(Compiler c51 von Keil)

mfg Gert

von Peter D. (peda)


Lesenswert?

Gert wrote:
> Also ich steh bei dem Problem, dass ich einen Sender (GPS EM-411) auf
> dem Portpin: TX(des Senders) auf P1_4
> Portpin: RX(des Senders) auf P1_5
> hängen hab.
>
> Nun jetzt schickt mir der Sender mit 4800 Baud die Daten auf den PIN
> P1_4 und ich will nun das Empfangene auf die serielle Schnittstelle
> ausgeben. (Quasi P1_4 durchschleifen auf TXD des 89c51).

Die UART ist fest auf die Pins P3.0 und P3.1 gelegt und läßt sich nicht 
umsetzen.


Peter

von Gert (Gast)


Lesenswert?

hmmm tjo und wie kann ich dann die Daten die ich da Empfange auf P1_4 
speichern ?

von Gert (Gast)


Lesenswert?

so funktionierts :

mit dem EM-411

#include <stdio.h>
#include "AT89x51.H"
#include <string.h>

void main(void)
{  int i;

SCON = 0x52; /* SCON */ /* setup serial port control */
TMOD = 0x20; /* TMOD */ /* hardware (9600 BAUD @12MHZ) */
TCON = 0x69; /* TCON */
TH1 = 0xFA; /* TH1 */ //4800 baud rate
TR1=1;



   P1_5=1;
   P1_4=1;



    for(;;)
{

   TI=1;
     while (!(SCON & (1<<1)));
   TI=0;
   SBUF=P1_4;
   for(i=1;i<=1;i++);
}

}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.