- HAst du die Massen miteinander verbunden, oder laufen die schon über eine! Spannungsquelle?
- Vielleicht solltest du auch mal die BAudrate setzen!
Hi Leute!
Ich habe mal wieder ein Problem...
Und zwar: Ich möchte auf meinem Robby ein en Master und einen Slave Prozessor haben.
Master = Atmega16 (16Mhz ext.)
Slave = 90S4433 (Intern ?)
Der Master krigt alle Sensordaten, gibt Befehle und steuert alles.
Der Slave steuert Servos, den Antrieb usw.
Die zwei sollen über eine serielle Verbindung mit TTL-Pegel verbunden werden. Das habe ich schon gemacht.
Ich habe nachgemessen, Master und Slave können Senden und Empfangen.
Programmiert werden die beiden in BASCOM.
Der Code für den Master (= ATMEGA16):
Code:Dim C As Byte Dim D As String * 3 C = 0 Sound Portd.2 , 100 , 1000 Wait 1 Do Input C If C = 1 Then Sound Portd.2 , 100 , 1000 End If Input D If D = "1" Then Sound Portd.2 , 100 , 1000 End If Loop End
Der Code für den Slave (AT90S4433):
Also das sieht dann so aus: Der Slave sendet 1 an den Master, der daraufhin piepsen soll.Code:Dim A As Byte Do Print "1" Loop
Ich habe den RXD Eingang des Masters an den TXD Ausgang des Slaves angeschlossen und
den TXD Ausgang des Masters an den RXD Eingang des Slaves angeschlossen.
Was läuft da falsch?
Schonmal vielen Dank.....
Liebe Grüße, Tobi
http://www.tobias-schlegel.de
"An AVR can solve (almost) every problem" - ts
- HAst du die Massen miteinander verbunden, oder laufen die schon über eine! Spannungsquelle?
- Vielleicht solltest du auch mal die BAudrate setzen!
Außerdem, sorry wenn ich da nciht so die Ahnung habe, müssen im Programm nciht noch Takt etc. angegeben werden?
Hi gast!
Die Prozzies sind mit 2 7805ern ausgestattet, die über den gleichen Akku betrieben werden.
Also - = -
Die Baudrate: wies nicht. In den einstellungen steht die selbe Baudrate...
Wo/wie kann man die einstellen? Mit Config... ?
Glaube eher, dass das ein Softwareproblem ist.
Deshalb auch in diesem Forum...
Liebe Grüße, Tobi
http://www.tobias-schlegel.de
"An AVR can solve (almost) every problem" - ts
Wegen der Stromversorgung:
Es hätte ja sein können, dass du sie beide mit Batterien oder so betreibst, und dann die Massen nicht verbunden hast.
Hier mal ein Beispiel, wie ein Programmanfang aussehen kann:
$regfile = "m8def.dat"
$crystal = 3686400
$lib "mcsbyte.lbx"
$baud = 9600
Da ich aber leider nicht soviel Ahnung habe, aber es halt bei allen Programmen, die man hier so im Forum findet benutzt wird, wollte ich dir es eben nur sagen.
Kann es sein, dass deine If-Anweisung am Ende des Programms nicht vollständig ist?
Hi RCO!
Di untere IF-Anweisung im Master-Programm ist meineswissens
OK. Der Compiler meckert auch nicht.
Ist es nicht möglich, das das Einlesen der Schnittstelle nicht funktioniert?
Liebe Grüße, Tobi
http://www.tobias-schlegel.de
"An AVR can solve (almost) every problem" - ts
Sorry, da bin ich überfragt
Hey leute!
Wo sind denn hier die Schnittstellen-Profis?
Liebe Grüße und Danke schonmal bis hier,
Tobi
http://www.tobias-schlegel.de
"An AVR can solve (almost) every problem" - ts
Ich denke mal, du solltest beide Prozessoren quarzgenau (extern) takten.Zitat von tobimc
Interner Taktung ist zu ungenau für den Baudratengenerator.
Wie willst du mit einem R/C-Generator (=internet Takt)
die Baudrate genau treffen
Hi avatar!
werd ich mal umstellen.......
Mal sehen ob das funktioniert...
Let's hope the best...
(Hoffentlch funktioniert der externe Takt. sonst ist der Atmel verreckt.....)
Habe da aber keine großen bedenken...
Mal sehen...
Liebe Grüße, Tobi
http://www.tobias-schlegel.de
"An AVR can solve (almost) every problem" - ts
Lesezeichen