Hi,
ja klingt für mich plausibel genug um einen Versuch zu wagen. Ich denke normalerweiße müsst das so funktionieren.
Mfg franz
Ich habe das Problem das ich 2 Avr's mit dem PC verbinden will.
Ich es zunächst mit einer "Reihenschaltung" probiert PC|Mega8|Mega32
aber da gibt es Probleme mit dem Software UART des Mega8.
Jetzt hab ich mir überlegt die beiden Rxds der Avr's zu verbinden und halt an den Txd vom PC zu hängen, und das gleiche auch mit den Txd der Avrs an den Rxd vom PC.
Der Emfang wäre ja kein Problem, nur wenn beide senden wollten das geht natürlich nicht.
Ich hatte mir überlegt einfach ein Kabel zwischen den Avr's zu legen, eine art Busy-Leitung.
Per Software also einfach 5V oder GND auf die Leitung legen wenn einer der µC's gerade senden bzw nicht senden will.
Kann ich einfach ein Kabel so zwischen die Pins hängen?
RGB-IR-Lampe, Catwiesel Bot, PC Terminal, Schrittmotoransteuerung, Elektroschocker, Stundenplan... www.stefan-reible.de
Hi,
ja klingt für mich plausibel genug um einen Versuch zu wagen. Ich denke normalerweiße müsst das so funktionieren.
Mfg franz
Ich hab etwas sorgen was passiert wenn es mal vorkommt, dass beide die Busy Leitung high schalten wollen.
RGB-IR-Lampe, Catwiesel Bot, PC Terminal, Schrittmotoransteuerung, Elektroschocker, Stundenplan... www.stefan-reible.de
Ja ich denke das lässt sich vermeiden in dem es einfach nicht möglich ist das beide die Leitung high schalten. Du musst dann eben den Pin abfragen und wenn der eben schon high ist kann eben der eine so lange nicht senden bis die Leitung wieder low wird.
Mfg franz
Jo so wollte ich das auch machen.
Hm, aber ich müsste die Leitung ja immer in einem definierten Zustand haben.
Also beispielsweise per 10K gegen GND.
geht das so?
RGB-IR-Lampe, Catwiesel Bot, PC Terminal, Schrittmotoransteuerung, Elektroschocker, Stundenplan... www.stefan-reible.de
Hm so hab mal was gecodet.
Der AVR emfängt ein Befehl, startet dann den Motor.
Anschließend versuch er solang eine Bestätigung zurückzuschicken bis die Leitung frei ist.
Code:If Command = "move forward" Then Speed_left = 200 While Fertig = 0 If Rs232busy = 0 Then Rs232busy = 1 Print "forward" Rs232busy = 0 Fertig = 1 End If Wend Fertig = 0 End If
RGB-IR-Lampe, Catwiesel Bot, PC Terminal, Schrittmotoransteuerung, Elektroschocker, Stundenplan... www.stefan-reible.de
So habs grad getestet, das Ergebnis ist sehr lustig.
Der M8 soll
Print "forwardm8" bzw Print "stopm8" machen, und der M32
Print "forwardm32" bzw Print "stopm32"
Nun darfst du raten was dabei rausgekommen ist..
forwardm;?stopm;?
RGB-IR-Lampe, Catwiesel Bot, PC Terminal, Schrittmotoransteuerung, Elektroschocker, Stundenplan... www.stefan-reible.de
Hm ich brauch 2 Leitungen zwischen den AVRs, ich kann ja nicht einen als Ein- und Ausgang definieren.
RGB-IR-Lampe, Catwiesel Bot, PC Terminal, Schrittmotoransteuerung, Elektroschocker, Stundenplan... www.stefan-reible.de
Moin!
Ich hab da 'nen Vorschlag :
Setze an jedem µC den Pin als Eingang und häng an die Leitung einen Pullup-Widerstand. Dann liest jeder den Pin, und wenn der Pin High ist, darf der Controller seinen Pin als Augang schalten und die Leitung auf Low ziehen, solange er sendet, danach schaltet er den Pin wieder als Eingang, der Pullup zieht das ganze auf High und so weiter.....
MfG
Volker
Meine kleine Seite
http://home.arcor.de/volker.klaffehn
http://vklaffehn.funpic.de/cms
neuer Avatar, meine geheime Identität
Hallo,
den Vorschlag von Volker find ich gut hab ich eigentlich auch so gedacht, auch wenn ich das vielleicht nicht so zu Papier gebracht hab.
Mfg franz
Lesezeichen