Integer über rs232

Gast #475006
Lesenswert?

Hallo

Ich möchte vom PC aus mit folgenden Code ein int(m_e_adresse) über die 
r232 an meinen Meg16 übertragen:
flag =((char)(m_e_adresse>>8));

ComWrite(0,flag);
ComClose(0);
flag = ((char) m_e_adresse);
ComWrite(0,flag);

ComClose(0);
Und auf der Meg16 Seite siehts dan so aus:
int adresse;
if (((UCSRA & (1<<RXC)))){uart_getc();}

  int RXD = UDR;
  if (((UCSRA & (1<<RXC)))){uart_getc();}
  int RXD1 = UDR;
  adresse =  (int) (RXD<<8);
  adresse |=  (int) RXD1;



  LCD_Print(0,0,"Adresse:%i",adresse);
Leider kommt auf meinem LCD nur irgendwelche Ergebnisse, aber nicht das 
was ich schicke????
Frank
#475512
Lesenswert?

Ich empfehle das auch auf der sendenden Seite zu machen.

* auf der sendenden Seite beide Bytes ausgeben
* auf der empfangenden Seite beide empfangenen Bytes ausgeben
* auf der empfangenden Seite den aus den Bytes zusammengebauten
  int ausgeben.

Damit kann man dann ganz leicht kontrollieren, bis wohin der
Prozess noch stimmt und ab wo Unsinn passiert.

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