-         

Ergebnis 1 bis 9 von 9

Thema: Welcher Pin auf RN-Control2560

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

    Welcher Pin auf RN-Control2560

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo zusammen,

    ich habe mir das RN-Control2560 http://www.robotikhardware.de/download/rnmega2560.pdf gekauft und habe das Beispielprogramm von Seite 28 auf den Controller übertragen und es funktioniert so wie es soll: Das LED blinkt und über den Terminal werden Daten angezeigt

    Nun möchte ich das Programm auch verstehen

    Code:
    '###################################################
    'erstebeispiel2.bas Demo zu Modul RN-Mega2560
    'für 'RoboterNetz Board RN-Mega2560 ab Version 1.0 und
    '
    'Aufgabe:
    'Laesst LED blinken
    'Gibt Zahlen ueber RS232 aus
    'Autor: Frank
    'Weitere Beispiele und Beschreibung der Hardware
    'unter http://www.Roboternetz.de oder robotikhardware.de
    'Eigene Programmbeispiele sind im Roboternetz gerne willkommen!
    '##############################################################
    'Diese Anweisung setzt die Fusebits automatisch korrekt (Syntax $PROG LB, FB , FBH , FBX )
    
    
    $prog , 255 , &B11011001 , 'Quarz an / Teiler aus / Jtag aus
    
    $regfile = "m2560def.dat"
    $hwstack = 82 '80
    $framesize = 68 ' 64
    $swstack = 68 '44
    
    $crystal = 16000000 'Quarzfrequenz
    
    Config Pind.5 = Output
    Led Alias Portd.5
    
    $baud = 9600
    
    Dim I As Integer
    
    Do
      Led = 1
      Waitms 100
      Led = 0
      Waitms 100
      Print "Hallo" ; I
      I = I + 1
    
    Loop
    
    End
    genau genommen die beiden Zeilen
    Code:
    Config Pind.5 = Output
    Led Alias Portd.5

    Wenn ich die Beschreibung auf Seite 7 richtig verstehe wird das LED immer über PIN D5 gesteuert: Blinkt bei low.

    Wo steht im Programm, dass die Daten über RS232 ausgegeben werden? Angeschlossen habe ich das Board über RS232 an den drei Pins an der Seite. Wie es auch auf den Bildern abgebildet ist.

    Kann mir jemand auf die Sprünge helfen?

    Vielen Dank und Grüße

    datatom

  2. #2
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Die Zeile

    Config Pind.5 = Output

    sagt aus das der Pin D.5 als Ausgang geschaltet wird. Wann die LED dann blinkt hängt davon ab wie du sie angeschlossen hast. Wenn die LED, wie du beschrieben hast, bei Low blinkt ist die LED an Vcc angeschlossen und jedesmal wenn der Pin auf Low gezogen wird, wird der Stromkreis geschlossen und die LED leuchtet. Wenn du die LED nun an GND anschließt musst du den Port auf High schalten damit die LED leuchtet, also genau andersrum.
    Diese Zeile:

    Led Alias Portd.5

    sorgt nur dafür das dieser Port D.5 einen Namen bekommt. Dadurch musst du nicht dauernd PortD.5 schreiben sondern kannst ihm einen Namen deiner Wahl zuweisen.
    Diese Zeile:

    Print "Hallo" ; I

    sorgt dafür das Daten über RS232 übertragen werden. Das "Print" leitet die Übertragung ein und das "Hallo" ist der Text der übertragen wird. Wenn du einen Text übertragen willst musst du den immer mit " einleiten und beenden. Das I nach dem Semikolon ist eine Variable. Da da nicht "I" steht sondern nur I wird nur der aktuelle Wert der Variable übertragen.

    Hoffe das hilft dir weiter.

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.09.2009
    Beiträge
    164
    Danke für die Beschreibung. Aber laut Schaltplanbeschreibung http://www.robotikhardware.de/download/rnmega2560.pdf auf Seite 7 ist doch der PIN D5 gar nicht als Ausgang für RS232 vorgesehen. Ich habe den RS232-Stecker wie auf Seite 28 abgebildet angeschlossen. Ich verstehe nicht wo beschrieben wird, dass der Stecker D5 als RS232-Ausgang definiert ist.

  4. #4
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Soweit ich weiß muss man in Bascom die Pins für RS232 gar nicht definieren. Das macht alles der Compiler. Du musst nur sagen welche Bauerate du haben willst und was su schicken willst.
    D5 ist nur für die LED da.

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.09.2009
    Beiträge
    164
    OK, wenn das der Compiler automatisch macht umso besser. Das Modul hat vier TTL UARTS (RX/TX) – 2 frei, einer für USB, einer für RS232). Wenn ich jetzt die "normale " RS232-Schnittstelle für die Kommunikation mit dem PC nutzt und eine andere RS232-Schnittstelle für den Anschluß eines Servoboards nutzen will. Muss ich doch bestimmt den TX-Pin für die Datensendung zum Servoboard angeben. In diesem Fall hat der Pin 13 PH1 / TXD2 (freie RS232 /TTL Pegel). Wie würde das im Programm angegeben werden?

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.556
    Zitat Zitat von datatom Beitrag anzeigen
    Danke für die Beschreibung. Aber laut Schaltplanbeschreibung http://www.robotikhardware.de/download/rnmega2560.pdf auf Seite 7 ist doch der PIN D5 gar nicht als Ausgang für RS232 vorgesehen. Ich habe den RS232-Stecker wie auf Seite 28 abgebildet angeschlossen. Ich verstehe nicht wo beschrieben wird, dass der Stecker D5 als RS232-Ausgang definiert ist.
    Der PIN D.5 ist ja der Ausgang für die LED. Die RS 232 Pins sind von Haus aus festgelegt und müssen nicht vom Programm gesetzt werden, außer man braucht keine RS232 und will die Anders benutzen. Dann MUSS aber die Direktive $Baud aus dem Programm gelöscht werden, damit wird die RS232 Quasi eingeschaltet.


    Led Alias Portd.5 das der Compiler für "LED" = Portd.5 verwenden soll***
    Hier Wird Led der Alias(Name) für Portd.5, Du kannst aber auch Otto als Alias nehmen...oder MotorLinks u.s.w. Das kann
    man sich leichter merken.


    Led = 1 (Portd.5 = 1) LED aus
    Waitms 100
    Led = 0 (Portd.5 = 0) LED an

    Gruß Richard

  7. #7
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Zitat Zitat von datatom Beitrag anzeigen
    OK, wenn das der Compiler automatisch macht umso besser. Das Modul hat vier TTL UARTS (RX/TX) – 2 frei, einer für USB, einer für RS232). Wenn ich jetzt die "normale " RS232-Schnittstelle für die Kommunikation mit dem PC nutzt und eine andere RS232-Schnittstelle für den Anschluß eines Servoboards nutzen will. Muss ich doch bestimmt den TX-Pin für die Datensendung zum Servoboard angeben. In diesem Fall hat der Pin 13 PH1 / TXD2 (freie RS232 /TTL Pegel). Wie würde das im Programm angegeben werden?
    Das kann ich die so aus dem Stehgreif nicht sagen sorry Aber schau mal in der Bascom Hilfe nach. Die hilft einem oft weiter.

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.556
    Zitat Zitat von Kampi Beitrag anzeigen
    Das kann ich die so aus dem Stehgreif nicht sagen sorry Aber schau mal in der Bascom Hilfe nach. Die hilft einem oft weiter.
    Das dürfte auch im Datenblatt vom Prozessor stehen, aber ein echter MANN hat je Handbücher und Datenblätter lesen nicht nötig.

    Gruß Richard

  9. #9
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Zitat Zitat von Richard Beitrag anzeigen
    Das dürfte auch im Datenblatt vom Prozessor stehen, aber ein echter MANN hat je Handbücher und Datenblätter lesen nicht nötig.

    Gruß Richard
    Ich glaube Bascom Befehle stehen nicht im Datenblatt des Prozessors .
    Aber Assembler Routinen stehen drin

    Edit:
    Ich hab mal ein wenig gegooglet und bin auf diese Seite gelangt:
    http://avrhelp.mcselec.com/
    Dort suchst du dann einfach nach "Com".

    Wenn du jetzt den TxD2 verwenden willst muss das, soweit ich das verstanden habe, so aussehen:

    Config Com3 = 19200 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0

    Kannst du aber auch weglassen dann wird der COM-Port mit 9600 Baud, 8Bit und ohne Parity initialisiert.

    Anschließend kommt ein:

    Open "Com3:" For Binar yAs#2

    Dies ist dafür da um den COM-Port zu initialisieren und ihm eine Nummer zuzuweisen.
    Anschließend brauchste nur noch

    Print#2

    zu schreiben. "Print" ist der normale Schreibbefehl über RS232 und das #2 ist die von dir vergebene Nummer. Wenn du ihm eine 1 gegeben hast musst du natürlich #1 schreiben.
    Probier das mal so

    Geändert von Kampi (24.07.2011 um 23:02 Uhr)

Ähnliche Themen

  1. In welcher optischen Maus steckt welcher Sensor?
    Von Sacha141 im Forum Sensoren / Sensorik
    Antworten: 10
    Letzter Beitrag: 31.03.2012, 21:48
  2. Welcher Bus
    Von WeiserDruide im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 8
    Letzter Beitrag: 25.02.2010, 23:16
  3. Welcher Pda?
    Von Roboter11 im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 1
    Letzter Beitrag: 05.06.2007, 16:36
  4. USB ISP? welcher?
    Von Ls4 im Forum AVR Hardwarethemen
    Antworten: 8
    Letzter Beitrag: 04.09.2006, 12:43
  5. [ERLEDIGT] Welcher Antrieb, welcher Akku ?
    Von im Forum Motoren
    Antworten: 1
    Letzter Beitrag: 23.01.2005, 21:45

Berechtigungen

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