Forum: Mikrocontroller und Digitale Elektronik T89C51CC01 - Serielle Schnittstelle ansprechen


von newbie (Gast)


Lesenswert?

Hallo,
wie kann ich bei dem T89C51CC01 von atmel die serielle schnittstelle 
ansprechen? Irgendwie will das bei mir nicht ganz klappen.
Wills mit UART und einem MAX232 machen.

Hatt da von euch jemand zufällig ein paar codeschnipsel für mich?

Gruß Newbie

von Oliver J. (skriptkiddy)


Lesenswert?

Atmel bietet hier Beispielcode an:
http://www.atmel.com/tools/CODEEXAMPLESFOR8051UART.aspx

Gruß Oliver

von newbie (Gast)


Lesenswert?

Hallo, ok soweit klappt das jetzt, vielan dank schonmal.
Wie berechne ich nun die Baudrate?
Habe ein 12MHZ Quarz auf dem Board.

Gruß

von Oliver J. (skriptkiddy)


Lesenswert?

Schau mal hier nach:
http://www.8052.com/tutser.phtml

Gruß Oliver

von newbie (Gast)


Lesenswert?

Hi@all,
ich kann num mit meinem Mic und Putty eine Verbindung herstellen.
Ich sende zum test einfach mal den String "test".
Dies klappt soweit auch ganz gut, blos beim ca.10ten mal senden kommt 
nur noch "tes" oder "te" an. Bei den nächsten ca. 10 Sendevorgängen 
klappt es wieder.

Ist das normal und ich muss mit ACK arbeiten?
Oder sollte es immer richtig ankommen?

Gruß

von Oliver J. (skriptkiddy)


Lesenswert?

newbie schrieb:
> Oder sollte es immer richtig ankommen?
Ja. Sollte es.

Wie sieht dein Programm aus?

Gruß Oliver

von newbie (Gast)


Lesenswert?

Hi,
hier ist mal der code:


#include "t89c51cc01.h"

char send[6] = "test\n";

void main (void)
{

 SCON = 0x50;
 PCON = 0x80;

 TMOD = 0x20;
 TL1 = 250;
 TH1 = 250;
 TR1 = 1;

 EA = 1;
 EX0 = 1;
 IT0 = 1;

   while (1)
   {
   }
}

//---------------------------------
void senden (void) interrupt 0
{
 int i;

  for (i = 0; i < 5; i++)
  {
   SBUF = send[i];
   while(TI == 0)
   {
   }

   TI = 0;
  }
}

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.