-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Pin zum Senden einrichten

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.09.2009
    Beiträge
    164

    Pin zum Senden einrichten

    Anzeige

    Hallo zusammen,

    ich habe das RN-Mega2560 und möchte Daten über die serielle Schnittstelle versenden. Dazu möchte ich den Pin "PH1 / TXD2 (freie RS232 /TTL Pegel)" nutzen. Die Daten sollen an ein Servoboard geschickt werden.

    Bisher sieht mein Programm so aus:
    Code:
    $regfile = "m2560def.dat"
    $hwstack = 82
    $framesize = 68
    $swstack = 68
    $crystal = 16000000                                         'Quarzfrequenz
    
    
    $baud = 9600
    Dim Servonummer As Byte
    Dim Servodevice As Byte
    Dim Servocommand As Byte
    Dim Servodata1 As Byte
    Dim My_string As String * 1
    
    Config Pind.5 = Output
    Led Alias Portd.5
    
    Do
       Led = 1
    
       'Servogeschwindigkeit
       Servodevice = 1                                          'Jedes Servoboard hat eine Device-Nummer
       Servonummer = 7                                          'Servonummer 0 bis 7
       Servocommand = 1                                         'Befehl: Setze Geschwindigkeit
       Servodata1 = 127                                         'Geschwindigkeit (0 - 127) 127 = max. Geschwindigkeit
       Print Chr(128) ; Chr(servodevice) ; Chr(servocommand) ; Chr(servonummer) ; Chr(servodata1)
    
       'Servoposition
       Servodevice = 1                                          'Jedes Servoboard hat eine Device-Nummer
       Servonummer = 7                                          'Servonummer 0 bis 7
       Servocommand = 2                                         'Befehl: Setze Position
       Servodata1 = 127                                         'Position (0 - 127) 0 = ganz rechts; 127 = ganz links
       Print Chr(128) ; Chr(servodevice) ; Chr(servocommand) ; Chr(servonummer) ; Chr(servodata1)
    
       Wait 2
       Led = 0
    
       Servodevice = 1
       Servonummer = 7
       Servocommand = 2                                         'Befehl: Setze Position (0 - 127)
       Servodata1 = 0                                           'Position
       Print Chr(128) ; Chr(servodevice) ; Chr(servocommand) ; Chr(servonummer) ; Chr(servodata1)
    
       Wait 2
    
    Loop
    
    End
    Das LED blinkt ordnungsgemäß. Aber die Daten kommen wohl nicht zum Servoboard. Muss ich nicht noch den Ausgangspin einrichten? Ich habe leider keine Ahnung

    Viele Grüße und Danke im Voraus

    datatom

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.556
    Um die RS232 Schnittdelle ein zu schalten muss ein $baud = (Baudrate) im Header stehen, print muss natürlich auch gesagt werden auf welche Schnittstelle ausgegeben werden soll. Den 2560 kenne ich leider nicht, wie die Schnittellen zugeortnet werden sollte im Datenblatt stehen.

    Gruß Richard

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544
    Hallo,

    was soll das heißen: "Aber die Daten kommen wohl nicht zum Servoboard."? Ist das eine Vermutung von dir oder hast du das herausgefunden? Probier doch mal, Daten über die UART an den PC zu schicken! Dann kannst du schon mal herausfinden, ob überhaupt Daten gesendet werden. Dann würde ich überprüfen, ob beide Boards die selben UART Parameter haben.

    Gruß
    Chris

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.556
    Zitat Zitat von Che Guevara Beitrag anzeigen
    Hallo,

    was soll das heißen: "Aber die Daten kommen wohl nicht zum Servoboard."? Ist das eine Vermutung von dir oder hast du das herausgefunden? Probier doch mal, Daten über die UART an den PC zu schicken! Dann kannst du schon mal herausfinden, ob überhaupt Daten gesendet werden. Dann würde ich überprüfen, ob beide Boards die selben UART Parameter haben.

    Gruß
    Chris
    Stimmt, aber er hat geschrieben das die (seine) RS232 mit TTL Pegeln arbeitet. Eine LED mit vorwiderstand an TXD und laaaaangsamer Baudrate, dann sieht man die Daten an der LED. Oder TXD RXD verbinden und sich selber "unterhalten". Aber ohne die Schnittstelle überhaupt zu definieren und ein Print an wasauchimmer?
    Der TXD PIN DH1/Tx2 ist mehrfach vergeben und TX2 wird ohne ein $Baud = xxxxx nicht b.z.w. für DH1 ( wasimmerdasauchist) benutzt......

    Gruß Richard

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544
    Ein Max232 und ein bisschen Hühnerfutter (incl. Kabel) sollte kein Problem sein ... Ok, das mit der LED ist nicht schlecht Ein Print ohne eine Kanalnummer printet IMHO an die erste Hardware UART! Hatte mal nen ATMEGA644P im Einsatz, da habe ich auch ohne eine Kanalangabe Daten über die UART rausgeschickt, war kein Problem Durch die Baud Anweisung wird die Schnittstelle ja aktiviert, aber da stellt sich mir schon die nächste Frage: Ist das Servoboard auch auf die gleiche Baudrate eingstellt? Die Pins müssen nicht extra konfiguriert werden, das passiert durch die Baud Anweisung automatisch

    Gruß
    Chris

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.556
    Stimmt ist bei jedem AVR (mit nur eine2 Hartware UART so) wie das bei Typen mit mehreren aussieht? Er nimmt je die 2. und ein Baut = hat er überhaupt nicht im Programm.....

    LED: Ich habe hier noch ein per "Mäuseklavier" umschaltbares RS232 Testkabel mit LED's für TX,RX,DSR,CTS, RTS...sehr praktisch. Das Teil ist ca. 20 Jahre alt, entsprechend "versaut" sieht die Beschreibung aus....Ich habe eine Kopie an gehangen, ist auch geladen geworden, aber wo die geblieben ist? https://storage.driveonweb.de/dowdoc...3a41128f1d480a

    Gruß Richard
    Geändert von Richard (30.07.2011 um 20:19 Uhr)

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544
    Ohje stimmt, da habe ich wohl wieder etwas zu voreilig gelesen, sorry... Du hast natürlich Recht, die 2. UART muss auch initialisiert werden!
    Dann ist ja klar, warums nicht funktioniert

    Gruß
    Chris

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.09.2009
    Beiträge
    164
    Hallo zusammen,

    Der TXD PIN DH1/Tx2 ist mehrfach vergeben und TX2 wird ohne ein $Baud = xxxxx nicht b.z.w. für DH1 ( wasimmerdasauchist) benutzt......
    Stimmt ist bei jedem AVR (mit nur eine2 Hartware UART so) wie das bei Typen mit mehreren aussieht? Er nimmt je die 2. und ein Baut = hat er überhaupt nicht im Programm.....
    Verstehe ich nicht. Ich habe doch $Baud im Programm belegt, siehe oben. Helft mir bitte ein bisschen auf die Sprünge.

    Gruß

    datatom

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.556
    Zitat Zitat von datatom Beitrag anzeigen
    Hallo zusammen,





    Verstehe ich nicht. Ich habe doch $Baud im Programm belegt, siehe oben. Helft mir bitte ein bisschen auf die Sprünge.

    Gruß

    datatom
    OK, das $baut = steht im 2. Block, hatte ich übersehen.

    Gruß Richard

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.09.2009
    Beiträge
    164
    Das beste ist, ich halt mal ne LED an den Pin. Und melde mich dann noch einmal.

    Eine Frage noch:

    Das RN-Mega2560 hat mehrere Anschlüsse für die 5V Spannungsversorgung und für GND. Bis her habe ich nur einen Pin an 5V und einen an GND angeschlossen. Ich habe mal gelesen, dass alle Anschlüsse des Boards für die 5V Spannungsversorgung und GND angeschlossen sein müssen. Stimmt das?


    Grüße

    datatom

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. AVR Studio 5 einrichten
    Von Wombatz im Forum Asuro
    Antworten: 1
    Letzter Beitrag: 12.06.2011, 22:27
  2. Studio 5 einrichten und Libs einbinden
    Von Wombatz im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 12.06.2011, 22:26
  3. Antworten: 8
    Letzter Beitrag: 28.11.2010, 17:06
  4. Netztwerk einrichten für Betrieb mit WiPort (gelöst)
    Von molleonair im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 3
    Letzter Beitrag: 28.08.2009, 20:13
  5. Problem beim Einrichten von PonyProg
    Von Pr0gm4n im Forum AVR Hardwarethemen
    Antworten: 20
    Letzter Beitrag: 25.08.2009, 20:23

Berechtigungen

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