Serielle kommunikation zw 2 ATMega644

OP #3549097
Lesenswert?

Hallo an alle Experten,

ich habe folgendes Problem:

Ich möchte zwei ATMega644 so einfach wie möglich seriell miteinander 
verbinden. Die Daten die übertragen werden sollen sind sehr klein und 
dürfen auch "langsam" übertragen werden. Als Programmiersprache verwende 
ich C

Was ich bisher heraus bekommen habe, das es über UART machbar sein 
sollte. Da ich aus Platzgründen die Platine von AVR1 sehr klein halten 
muss, habe ich kein Quarz verwendet, sondern vertraue auf den internen 
Takt. Natürlich müssen Takt und Baudrate von AVR1 und AVR2 gleich sein 
und RX/TX gekreuzt verbunden.

Hier was übertragen werden soll:

Das muss der sender machen (AVR1):

if(Taster gedrückt)
{
  sende die Zahl "1"
}


Das muss der Empfänger machen (AVR2):

warten auf daten...

if(empfangener Wert==1)
{
  PINA & (1<<PINA1)
}

In wirklichkeit sende ich natürlich unter anderen Bedingungen, aber mir 
geht es hier nur um die kommunikation. In eine Richtung würde mir sogar 
fürs erste reichen.

Insgesammt sollen nur die Zahle 1, 2, 3, 4, 5, 6, 7 und 8 übertragen 
werden. Ob in Binär, Hex oder Dez ist natürlich vollkommen egal.


Ich hoffe es kann mir jemand helfen, denn damit habe ich bisher 
keinerlei Erfahrung

Vielen Dank im Vorraus
Gast #3549100
Lesenswert?

Heiko K. schrieb:
> Da ich aus Platzgründen die Platine von AVR1 sehr klein halten
> muss, habe ich kein Quarz verwendet, sondern vertraue auf den internen
> Takt.

Dann solltest du vielleicht nicht auf den USART setzen, sondern eine 
Datenverbindung über SPI verwenden. Da ist der Takt wurscht.
Gast #3549105
Lesenswert?

Thomas W. schrieb:

> Dann solltest du vielleicht nicht auf den USART setzen, sondern eine
> Datenverbindung über SPI verwenden. Da ist der Takt wurscht.

Man kann die USART auch synchron betreiben, dann spielt der Systemtakt 
ebenfalls keine große Rolle mehr. Es ist aber natürlich zusätzlich zu 
den beiden Datenleitungen eine Taktleitung zu ziehen.
(Firma: TravelRec.) Persönliche Seite #3550255
Lesenswert?

Heiko K. schrieb:
> Ich möchte zwei ATMega644 so einfach wie möglich seriell miteinander
> verbinden. Die Daten die übertragen werden sollen sind sehr klein und
> dürfen auch "langsam" übertragen werden.

Einfach im Sinne der Hardware oder wie´s am einfachsten zu programmieren 
ist? Wie weit sind beide Controller voneinander entfernt?!

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