Hallo,
ich möchte mit 2 AVRs arbeiten, der eine (AVR1 erledigt die
"Drecksarbeit", z.B. Uhrzeit aus I2C, Relais schalten, Temperatur und
Uhrzeit über DCF auslesen uvm., der andere AVR(2) bekommt ein GLCD und
gibt nur Kommandos an den anderen AVR, z.B. Relais 4 an, "Gib mal
Temp-Wert von Sensor 1 und Uhrzeit". AVR2 soll auch Taster abfragen und
Schaltzeiten-Programmierung zulassen. AVR2 will ich auch mal aus der
Schaltung entnehmen und dann sollen aber die anderen Einheiten an AVR1
nicht verrückt spielen. Ich hatte erst gedacht, über rx und tx die AVRs
kommunizieren zu lassen, mit festabgesprochenen Befehlen und
Rückbestätigung usw..
Aber kann ich nichts mit SPI tun, habe da aber für FASTAVR nicht den
richtigen Durchblick gefunden, Baustein-Adressierung uvm., wer kann mir
das mal mit dem SPI mal erklären, geht es überhaupt ?
Gruss
A. Arndt
Ja SPI ist schon kein schlechter Ansatz, ein AVR läuft dann im
Master-Mode, der andere im Slave-Mode. Der Master zieht SS vom Slave auf
Masse wenn er ihm was mitzuteilen hat, soviel zur Adressierung. Alles
weitere lässt sich in Specs und den Datasheets von Atmel nachlesen.
Hallo A. Arnd,
der AVR Pascal-compiler von E-Lab kann so einen Master - Slavebetieb
nicht nur über SPI sondern auch über TWI (I2C). Ansonsten unterstützt er
alle von dir genannten Aufgaben und noch einige mehr. Ich will dich
jetzt nicht bekehren - im Gegenteil - so wie du dein Basic magst, fühle
ich mich bei WINAVR sauwohl. Es gibt aber ein kostenloses Demo anschauen
kostet ja nichts (sogar bis 4kB) und etwas lernen kann man immer. Beim
Marcus gibt es übrigens eine preisgünstige, eingeschrängte Vollversion
(nur für die MEGA 8)
Gruß Bernhard
Hallo,
mit TWI muss ich ja ein Leitungsverstärker ranhängen, und dann ist
Kommunikation der beiden AVRs auch schwierig, denn sie sollen ja
miteinander kommunizieren, also bi-direktional, mit rx und tx müsste ich
aber meine eigenen Sprache kreieren. Wo gibt es denn WINavr, ist das
auch Basic und wer ist Marcus ?
Gruss
A. Arndt
TWI = I2C (I2C ist ein von Philips geschützter Name also nennt man es
einfach anders z.B. TWI) Leitungsverstärker sind nicht nötig (SPI ist ja
auch nicht für lange Leitungen gedacht).
WINAVR ist was wie GCC also ein super guter und völlig kostenloser
C-Compiler. Gibt es hier:
https://sourceforge.net/project/showfiles.php?group_id=68108&release_id=145948.
Marcus, war ein Tipfehler. Ich meinte Markus Burr, der triebt sich auf
diesen Seiten auch öfters mal rum und hat auch eine eigene:
www.embedit.de ,wo er unter anderem auch so Kram vertickt.
Pascal ist übrigens auch kein Basic aber sehr ähnlich - ich hab auch mal
mit Basic angefangen. Der Umstieg auf Pascal (Borland 6.0 für
DOS-Rechner) ist mir damals sehr leicht gefallen.
Gruß Bernhard
Hallo,
die Entfernung soll ca. 15m oder gerne mehr betragen, interessant wäre
es auch mit TWI, aber welche Bausteine verbinden direktional zwei MC ?
Habe auch überlegt etwas mit RS-485 zu machen wegen der Möglichkeit noch
weitere AVRs anzuhängen, aber das verdrillte Kabel ist relativ teuer,
muss es wirklich sein ?
Gruss
A. Arndt
Vielen Dank für Eure Hilfen, weiter so....
...am Preis fürs Kabel sollte sowas eigentlich nicht scheitern...
schließlich brauchst Du sowieso ein Kabel zur Verbindung und 10 bis 15
Cent Preisunterschied pro Meter sollten bei deiner geplanten
"Ausstattung" eigentlich nicht weh tun, oder?
Ich persönlich würde hier den I2C Bus für die Kommunikation mit den
Sensoren usw. nutzen und die beiden AVR`s einfach über die serielle
Schnittstelle verbinden. Hier ist der Aufbau der Kommunikation
eigentlich anfangs am einfachsten.
Klemm die beiden AVR`s einfach zu Testzwecken auf TTL Basis zusammen und
erweitere dann bei Bedarf einfach auf RS485. Hier brauchst Du dann
einfach nur einen bzw zwei recht günstige Bausteine mehr.
Die Bedienung des I2C ist auch recht einfach und Steuerung der
Kommunikation mit jeden Compiler möglich, da die Lese und
Schreibroutinen einfachst selbst "gebastelt" werden können, edal ob der
Compiler I2C unterstützt oder nicht.
Eine eigene Frage?
Dieser Thread ist über 23 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.