Forum: Mikrocontroller und Digitale Elektronik Uart mit At89s51


von Riccardo Salzer (Gast)


Lesenswert?

hallo miteinander

habe folgendes problem, ich habe einen µCOntroller und will einfach mit 
empfangenen a oder b den port toggeln ! ich verwende hterm ein usb to 
rs232 und natürlich max232



#include <at89x51.h>

char Ausgabe[]="Dieser Satz wird ausgegeben";
char uart_data;
int Zaehler = 0;
void data_ (char);
void main (void)
{
  TMOD = 0x20; //Timer1 im Mode2 (8-Bit mit Autoreload)
  TH1  = 232;   //9600 Baud bei 11,0592 mhz quartz
  TL1  = 232;

  PCON = PCON & 0x7F;  //SMOD1=0, SMOD0=0, restliche Bits unverädert
  SCON = 0x50; //UART im Mode1, Empfang aus

  TR1 = 1;  //Timer1 starten
  ES  = 1;    //serieller Interrupt ein
  EA  = 1;  //Interrupt Glabal ein

  while(1)


}

void serial_IT(void) interrupt 4
{
if (RI == 1)
{
RI = 0;
uart_data=SBUF;
data_(uart_data);

}

}

void data_ (char data__)
{

switch(data__)
{
case'a': P2=0xFF; break;
case'b': P2=0x00; break;

}


}






aber irgendwie tut sich gar nix -.-



vielleicht ein programmfehler???

von Peter D. (peda)


Lesenswert?

Versuch erstmal Senden.
Versuchs erstmal ohne Interrupt.
Versuch das Empfangene + 1 zu senden.


Peter

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.