- 3D-Druck Einstieg und Tipps         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 18

Thema: Serielle Kommunikation zwischen zwei Atmels...

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    34
    Beiträge
    1.461

    Serielle Kommunikation zwischen zwei Atmels...

    Anzeige

    LiFePo4 Akku selber bauen - Video
    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):

    Code:
    Dim A As Byte
    
    Do
    
       Print "1"
    
    Loop
    Also das sieht dann so aus: Der Slave sendet 1 an den Master, der daraufhin piepsen soll.

    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

  2. #2
    Gast
    - HAst du die Massen miteinander verbunden, oder laufen die schon über eine! Spannungsquelle?

    - Vielleicht solltest du auch mal die BAudrate setzen!

  3. #3
    Gast
    Außerdem, sorry wenn ich da nciht so die Ahnung habe, müssen im Programm nciht noch Takt etc. angegeben werden?

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    34
    Beiträge
    1.461
    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

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    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?

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    34
    Beiträge
    1.461
    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

  7. #7
    Gast
    Sorry, da bin ich überfragt

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    34
    Beiträge
    1.461
    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

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    09.06.2004
    Ort
    Rhein-Neckar-Raum
    Beiträge
    504
    Zitat Zitat von tobimc
    Master = Atmega16 (16Mhz ext.)
    Slave = 90S4433 (Intern ?)
    Ich denke mal, du solltest beide Prozessoren quarzgenau (extern) takten.
    Interner Taktung ist zu ungenau für den Baudratengenerator.

    Wie willst du mit einem R/C-Generator (=internet Takt)
    die Baudrate genau treffen

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    34
    Beiträge
    1.461
    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

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen