USART Kommunikation

Gast #1377777
Lesenswert?

Hallo an Alle,

ich möchte per USART mit dem AtMega16 eine Variable von uC-1 an den uC-2 
Senden. Das Programm stelle ich mir so vor:

Dazu habe ich zwei Fragen:
1. Kann das so funktionieren?
2. Kann ich zu Testzwecken mit dem selben uC das gesendete empfangen?

Vielen Dank.
_________________________________________________

#include <avr/io.h>
#include <avr/interrupt.h>
#include <stdint.h>


int main (void)

{


 UCSRB  |=  (1 UCSRB  << TXEN );
// Turn on the transmission circuitry

UCSRC   |=   (1 << URSEL) | (1 << UCSZ1) | (1 << UCSZ0);
// URSEL bit set to select the UCRSC register
// 8-bit character size

UBRRH = 0x00;
UBRRL = 0x03;
// UBRR = 3


UCSRA |= (0<< TXC);



while (1)
  {
while ((UCSRA & (1 << TXC)) == 0) {};
// Do nothing until transmission complete flag set

UDR =  0x03;
// soll später meine Variable werden.


  }

}

_________________________________________________
Gast #1377783
Lesenswert?

wenn du TXD RXD verbindest, dann sollte das gehen. Das geht auch 
beispielsweise bei den FTDI Chips die man an den PC per USB dranhängen 
kann. (ist auch oft praktisch zum debuggen von diesen verbindungen!)

am besten wärs du probierst den code oben einfach mal aus ;-)

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