Forum: Mikrocontroller und Digitale Elektronik Codeschloss Eigenbau mit Atmega 8 und TWI


von Hans S. (niklas_h)


Lesenswert?

Hallo!

Ich würde gerne ein Codeschloss mit 2 voneinander getrennten Schaltungen 
aufbauen. Diese sollten lediglich über TWI miteinander kommunizieren. Es 
werden zwei Atmega 8 verwendet.

In Schaltung 1 soll der Code über das Tastenfeld erfasst werden. Der 
Atmega 8 soll diesen (8 stelligen)Code dann mittels TWI an den anderen 
Atmega senden. Dieser soll den Code dann auswerten und ggf. Tür öffnen 
und ein Richtig oder Falsch an den ersten Atmega zurücksenden.

Ich hab das auch schon mal versucht, wenn ich nur 1 Byte in eine 
Richtung sende hat es funktioniert, doch sobald es mehrer Byte sind und 
in beide Richtungen gesendet wird, scheitert es bei mir.

Könnte jemand vielleicht mal einen fertigen Beispielcode in "Basic" für 
beide Atmegas posten, bei dem mehrere Bytes über TWI übertragen werden?

MfG

Niklas

von Jannis C. (kabelwurm)


Lesenswert?

Hallo,
erstmal bräuchten wir noch ein paar Informationen.
1)Wie sieht denn dein Code aus? Kannst du denn mal posten?
2)Gegebennenfalls deinen Schaltplan
Zum Twi fällt mit spontan nur das ein:
http://www.mikrocontroller.net/articles/AVR_TWI
Gruß Jannis

von Hans S. (niklas_h)


Lesenswert?

Danke erstmals!

Ich werde heute Abend Schaltplan und ein paar Codeschnipsel posten.

Gruß Niklas

von Peter D. (peda)


Lesenswert?

Es ist unsinnig, kleinste Miniaufgaben auf mehrere MCs aufzuteilen. 
Durch das notwendige Kommunikationsprotkoll ist der Aufwand und die 
CPU-Last erheblich größer, als bei nur einem MC.

Wenn es um das Einsparen von Drähten geht, in der Codesammlung ist ein 
Beispiel für ne Tastatur über 2 Drähte.


Das I2C ist auch sehr komplex, wenn mehrere MCs beteiligt sind. Der 
Slave-MC muß als Interrupt programmiert werden. Auch kann sich das I2C 
verhaken (Timeout notwendig).

Für nur 2 MCs ist die UART deutlich einfacher.


Peter

von GooM (Gast)


Lesenswert?

Peter Dannegger schrieb:
> Es ist unsinnig, kleinste Miniaufgaben auf mehrere MCs aufzuteilen.
> Durch das notwendige Kommunikationsprotkoll ist der Aufwand und die
> CPU-Last erheblich größer, als bei nur einem MC.


....ich denke mal, das die tastatur von der auswerteelektronik getrennt 
sein soll, da es wenig sinn macht den türöffner direkt aus einem modul 
im tastaturgehäuse zu steuern, weshalb zwei mc zum einsatz kommen ;-)

Peter Dannegger schrieb:
> Für nur 2 MCs ist die UART deutlich einfacher.

....das finde ich auch, zudem ist die länge des übertragungsweges viel 
unkritischer...bei entsprechend niedriger baudrate (für die paar 
bytes..) kann das kabel auch mal mehrere 10m lang sein...

-GooM-

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.