Ich habe hier eine Schaltung die aus 2 AVR's besteht die mit 3 Leitungen miteinander verbunden sind. Der erste AVR dient zum einlesen der Verzeichnisses der SD-karte und der zweite nur für die Ausgabe am LCD. Die Hardware bestand ursprünglich nur aus dem ersten AVR. Der zweite kam erst später hinzu, da sich einige die mühe gemacht hatten dafür eine LCD-Ausgabe zu entwickeln. Ich möchte gerne das LCD-Menü erweitern, was prinzipel kein problem darstellt. Jedoch liegt der Code des Menüs am ersten AVR der dann die Ausgabe auf den zweiten weiterleitet. Der zusätzliche Menüpunkt soll die Ausgänge des Display-AVR ansprechen. Wie macht man das? Wie kann man vom ersten AVR die Ausgänge des zweiten ansprechen?
Mal ne blöde Frage, wiese sind die SDA/SCL nicht verbunden, dann könntest Du das alles über Hardware TWI machen?! Beim Zweiten Mega32 hängen am TWI zwei LEDs die könnten doch auch woanders hin? xelarep
Hallo, Die Ausgänge des zweiten kannst du nicht direkt ansprechen. Du hast die Controller ja über I2C verbunden, also könntest du dem 2. Controller über I2C Kommandos schicken, die der dann per Software auswertet und entsprechende Pins schaltet. Was besseres fällt mir dazu auch nicht ein im Moment. Warum willlst du das denn überhaupt so umständlich machen und lässt nicht den Display-AVR alles machen? Übrigens fehlen die I2C Pullups wenn ich mich nich irre? Hab zumindest keine gesehen und ich meine mal gelesen zu haben, dass das mit den internen des AVR nicht geht, kann aber sein dass ich da falsch liege. //edit: Verdammt zu spät und dann auch noch mist geschrieben, hatte den Schaltplan nur kurz überflogen und dachte die hängen über I2C aneinander. Dann geht das ganze natürlich nicht so :(
xelarep schrieb: > Mal ne blöde Frage, wiese sind die SDA/SCL nicht verbunden, dann > > könntest Du das alles über Hardware TWI machen?! Das kann ich dir jetzt so nicht beantworten. Die Schaltung stammt nicht von mir. Ich habe sie nur ein wenig erweitert. Warum das so gemacht wurde, entzieht sich meiner Kenntnisse. Ich denke jedoch das jetzt umzustricken würde meine kenntnisse überfordern. > Warum willlst du das denn überhaupt so umständlich machen und lässt > nicht den Display-AVR alles machen? Weil dafür zu wenig Anschlüsse vorhanden sind. > Übrigens fehlen die I2C Pullups wenn ich mich nich irre? Hab zumindest > keine gesehen und ich meine mal gelesen zu haben, dass das mit den > internen des AVR nicht geht, kann aber sein dass ich da falsch liege. Gute Frage. Das ganze funtkioniert allerdings so problemlos. > Dann geht das ganze natürlich nicht so :( Mist. Also keine Chance?
Manfred W. schrieb: > Wie macht man das? Wie kann man vom ersten AVR die Ausgänge des zweiten > ansprechen? Dazu muss man erst einmal analysieren, wie das jetzige Komplett-System funktioniert. Da gibt es mehrere Möglichkeiten, wie das alles aufgebaut sein kann. Erst wenn man darüber den Überblick hat, kann man sich überlgen, wie eine Erweiterung gemacht werden könnte. Nach deiner Beschriebung zu urteilen, gibt es eine Form der Kommunikation, die vom Haupt-Mega ausgeht und der LCD-Mega ist nur Befehlsempfänger. Da wird es also Befehle in die eine Richtung geben. Diese Befehlsliste erweitert man um zusätzliche Befehle, die vom Haupt-Mega abgesetzt werden. Der LCD-Mega wird soweit erweiter, dass er diese Befehle empfangen und verarbeiten kann und als Folge davon Portpins schaltet.
Ok, aber wie kann man sich das Vorstellen? Was sind das für Befehle? Sind das Standard-AVR-Kommandos, sind das Variablen? Wie funktioniert in der Regel so eine Kommunikation zwischen 2 AVR's? Spielen da mehrere faktoren mit? ich bin ja schon froh wenn ich einen so halbwegs meine Befehle mitteilen kann.
Wieso bekommt der zweite Mega seinen Takt von einem Port-Pin des ersten Mega?
Manfred W. schrieb: > Ok, aber wie kann man sich das Vorstellen? Du und dein Kumpel sind per Telefon verbunden. Du gibst deinem Kumpel per Telefon Anweisungen was er zu tun hat. Dein Kumpel ist in der Kneipe und steht vor dem üblichen schwarzen Brett. Wenn du ihm die richtigen Anweisungen gibst, dann steht auf dem Brett dein Bestellwunsch > Was sind das für Befehle? Ich sagte doch: Da muss man das Programm analysieren und nachsehen, wie es gemacht wurde. > Sind das Standard-AVR-Kommandos, sind das Variablen? Wie funktioniert in > der Regel so eine Kommunikation zwischen 2 AVR's? Du einigst dich mit deinem Kumpel: 0 bedeutet "schwarzes Brett löschen" 1 bedeutet " weiße Kreide nehmen" 2 bedeutet " rote Kreide nehmen" 3 bedeutet " 'Bier bestellen' hinschreiben" 4 bedeutet " 'Limo bestellen' hinschreiben" 5 bedeutet "Wirt fragen, ob ich noch was schuldig bin" und jetzt gibst du deinem Kumpel die richtigen Codezahlen in der richtigen Reihenfolge durch, damit er genau das macht, was du willst.
Christian F. schrieb: > Wieso bekommt der zweite Mega seinen Takt von einem Port-Pin des ersten > Mega? Das war ursprünglich angedacht. Um einen Taktgeber und Platz auf der Platine einzusparen. Inzwischen läuft das ganze jedoch mit 2 Taktgeber.
> Da muss man das Programm analysieren und nachsehen, wie es gemacht > wurde. Einen Tip wo ich da in etwa suchen könnte? Gibt es da markante Funktionen die hierfür verwendet werden? Ich weiß, so Ferndiagnosen ohne den Code zu kennen sind natürlich nicht leicht. Aber würde man das direkt in der main.c implementieren oder in einer eigenen lib?
stephan schrieb: > http://www.pitsch.de/stuff/mmc2iec/index.htm > > das war wohl das Orginal. Korrekt. Um es ganz genau zu nehmen, die Nr. 11. Shadowolf sd2iec v1.0/1/2
@ Manfred W. (derschatten) >Ich denke jedoch das jetzt umzustricken würde meine kenntnisse >überfordern. Das so zum laufen zu bekommen ebenfalls ;-) >> Warum willlst du das denn überhaupt so umständlich machen und lässt >> nicht den Display-AVR alles machen? >Weil dafür zu wenig Anschlüsse vorhanden sind. Die kann man ja auch nicht einfach erweitern, vor allem so einen Krümelkram wie ein LCD und ein paar Tasten . . . AVR-Tutorial: Schieberegister >Mist. Also keine Chance? Fang mal klein an. Nimm EINEN Mikrocontroller und programmier den. Das ist mehr als genug für deinen Kenntnisstand. Auch wenn Multiprozessorsachen heute mehr denn je hip sind (Unter nem Quadcore P4 machts heute doch keine(r) mehr), sind sie in denn allermeisten Fällen schlicht Overkill. MFG Falk
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.