- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 4 von 6 ErsteErste ... 23456 LetzteLetzte
Ergebnis 31 bis 40 von 54

Thema: RP6 Software (Library und Demos)

  1. #31
    Neuer Benutzer
    Registriert seit
    11.07.2007
    Ort
    Fürth
    Alter
    62
    Beiträge
    2

    Probleme mit UART

    Anzeige

    Powerstation Test
    Hallo Leute, ich bin neu hier (sowohl hier im Netz, als auch in Bezug auf Roboter).
    Seit einer Woche bin ich nun stolzer Besitzer eines RP6. Die Beispielprogramme habe ich (teilweise) getestet bzw. von manchen nur den Quellcode angesehen und ich muss wirklich sagen, Respekt! Sehr gut kommentiert!!

    Für meine ersten Gehversuche Suche ich eine Möglichkeit, Daten mit dem PC auszutauschen. Dazu schau ich mir grade die UART-Schnittstelle an. Im Zusammenhang mit dem RP6Loader funktioniert alles einwandfrei.

    Nun möchte ich Daten per UART über ein anderes Programm austauschen. (Und dabei das USB-Interface mit der virtuellen COM-Schnittstelle verwenden). (Arbeite unter WinXP)

    Für einen ersten Test hab ich mal das Hyperterminal hergenommen und eine Verbindung zur (bei mir) COM8 konfiguriert (Parameter 9600,8,n,1,keine)
    Wenn ich nun eine Verbindung per Hyperterminal zum Robby herstell, dann sieht es so aus, als wenn die Gesammte Spannung zusammen bricht . Die Leds gehen aus bzw. glimmen nur noch leicht. Es werden keine Daten zum Terminal übertragen. (Im Robby läuft das SerialInterface_01)

    Für den Test hab ich das RP6Loader beendet, damit nicht beide Applikationen gleichzeitig auf der Seriellen "rum machen".

    Trenne ich die Verbindung im Hyperterminal, dann scheint dies beim Robby ein Reset auszulösen bzw. der Controller arbeitet dann normal,
    die LEDs leuchten wieder.

    Nun die Frage: Bug oder Feature ?
    Verwendet der RP6Loader die UART in besonderer Weise oder muss ich andere Parameter verwenden ?
    Wäre schön wenn mir da jemand helfen könnte.

    Viele Grüße
    Skaki

  2. #32
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    40
    Beiträge
    1.516
    Hallo Skaki,

    ich mache normalerweise nicht viel mit Hyperterminal (gefällt mir nicht so )
    aber ich habe das gerade selbst mal ausprobiert - anscheinend setzt Hyper Terminal die Leitung RTS auf low --> das hält den MEGA32 im Reset Modus!
    Keine Ahnung wie man das in Hyperterminal umstellen kann.

    RTS ist nämlich mit dem Reset Pin des Mikrocontrollers verbunden. So kann der Bootloader mit der PC Software besser gesteuert werden.


    Probier doch mal HTerm:
    http://www.der-hammer.info/terminal/index.htm
    aus.
    Das kann auch direkt die Leitung RTS kontrollieren (gibt unten einen Button) und man kann damit den MEGA32 resetten.

    Wie Du HTerm einstellen musst, siehst Du auf dem Screenshot den ich angefügt habe.
    9600 Baud werden so nicht klappen, der RP6 verwendet normalerweise 38400 Baud.

    Das Programm auf dem Bot kann man in HTerm starten, indem man nachdem der Bootloader "[READY]" ausgegeben hat einfach ein 's' sendet.

    Das lässt sich so natürlich auch mit einer eigenen Software steuern...

    MfG,
    SlyD
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken hterm_rp6.gif  

  3. #33
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    14.04.2007
    Ort
    Einhausen
    Alter
    69
    Beiträge
    699
    Wenn man ein völlig eigenes Terminal auf dem PC entwickeln will/muss, dann ist z.B. dies ein guter Ausgangspunkt:
    http://www.codeproject.com/system/serial.asp
    Damit ist man völlig frei in der Entwicklung seiner Schnittstelle zum Bot.
    Der Standard nach dem Compilieren/Linken sieht so aus:
    http://www.henkessoft.de/Roboter/Bilder/SerialMFC.jpg
    Ein Dialog zum Einstellen der Verbindung ist auch bereits dabei:
    http://www.henkessoft.de/Roboter/Bil...stellungen.jpg

  4. #34
    Gast
    Hallo SlyD,

    herzlichen Dank für die schnelle Hilfe!!
    Das Hammer-Terminal ist ja wirklich der Hammer. Damit funktionierts auch einwandfrei!
    Das Hyperterm hatte ich nur für einen ersten "Kontaktversuch" verwendet. (Leider kann man den RTS-Pin da nicht konfigurieren)
    Danke deiner Hilfe weiss ich nun, worauf ich beim Schnittstellenprogrammieren achten muss. Ich hab gott sei dank noch eine Schnittstellen-Library, welches die RS232-Programmierung unter XP etwas einfacher macht. Da kann ich auch das RTS direkt steuern.

    Damit steht einer ersten Applikation nichts mehr im Wege. Nochmals vielen Dank und noch ein schönes Wochenende!

    Viele Grüße
    Skaki

  5. #35
    Neuer Benutzer
    Registriert seit
    11.07.2007
    Ort
    Fürth
    Alter
    62
    Beiträge
    2
    Jetzt bin ich als Newbee doch glatt in die Login-Falle getappt (Gast), sorry!

    Hallo ehenkes,

    danke für die Info. Vielleicht ist die OpenSource-Lib sogar noch besser geeignet, als die was ich auf der Platte rum liegen hab. Ich schaus mir auf jeden Fall mal an.

    Viele Grüße
    Skaki

  6. #36
    Neuer Benutzer Öfters hier
    Registriert seit
    03.08.2007
    Beiträge
    11

    MakeFile Problem

    Aaaaalsooo.... Ich hab heute den Robby RP6 bekommen und auch schon ein paar Beispielprogramm geuploadet. Nun funktioniert die MAKE ALL funktion nicht. Auch die Beispielprogramme ( nicht die .hex dateien ) kann ich nicht compilieren. Ich habe auch Target = (dateiname) gemacht.
    Vielleicht habe ich auch das mit dem Projektverzeichnis falsch verstanden. Wenn ich PN2 öffne ist ja links mein Projekt. Da ist dann z.b. das Beispielprogramm und darunter das MAKEFILE. Aber nix geht. Da kommt immer der Fehlercode: 1 und ne Meldung das der Befehl MAKE falsch geschrieben ist oder so und es den nicht gibt. Hab nicht mehr die genauen Worte im Kopf^^... Hab ich irgendwas falsch gemacht ?? ? Gibt es eine andere möglichkeit das in ne .hex datei zu compilieren ?

    Ansonsten hoffe ich auf eine schnelle Antwort... Und ich will noch was loswerden: Geiles Forum... hier kann man sich Totlesen^^...

    P.S. Ich hab net so viel ahnung von ,C'... ( ok.-> KEINE ) aber ich arbeite mich da jetzt mal durch und die ganzen Fachbegriffe, wie z.b die namen von den anschlüssen und wat weiß ich sagen mir im moment gar nichts...
    Bitte auf Kindergartenniveau antworten

    Mfg

    BacaBej

  7. #37
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    40
    Beiträge
    1.516
    Hallo BacaBej,

    erstmal willkommen im Forum


    Was genau willst Du denn machen?
    Ein eigenes Projekt anlegen oder die vorhandenen Beispielprogramme abändern?

    Im letzteren Fall:
    Ich habe auch Target = (dateiname) gemacht.
    Da brauchst Du an den Makefiles der fertigen Beispielprogramme nichts zu ändern, das sollte alles so bleiben wie es ist.
    Bei einem eigenen Projekt musst Du beachten das "Dateiname" nicht die Dateiendung - also das ".c" hintendran - enthält.
    Also wenn Dein Programm "MeinProgramm.c" heisst, muss die Zeile also "Target = MeinProgramm" lauten!


    Hast Du die Datei "RP6BaseExamples.ppg" in PN2 geöffnet? Dann solltest Du ja wie in der Anleitung abgebildet alle Beispielprogramme in der Liste links sehen. Du musst dann eine der C Dateien (z.b. RP6Base_LEDs.c) doppelt anklicken - es öffnet sich das Sourcecode Fenster.

    Wenn der Editor mit dieser Datei geöffnet und ausgewählt ist, kannst Du Make All über das Menü aufrufen.
    Dann sollte das eigentlich klappen.
    Bei der Instalation von WinAVR hat es aber sonst keine Probleme gegeben, richtig?

    Mach mal bitte folgendes:
    Klick auf "Start-->Ausführen"
    und dann "cmd" eingeben und Enter drücken!

    Es öffnet sich ein DOS Fenster.

    Gib hier mal
    "avr-gcc --version"
    ein.

    Es sollte
    avr-gcc (GCC) 4.1.2 (WinAVR 20070525)
    Copyright (C) 2006 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    erscheinen!
    Klappt das?


    MfG,
    SlyD

    PS:
    Bei Fehlermeldungen:
    Bitte immer die ganzen Ausgaben unten im PN2 markieren, kopieren (STRG+C) und hier im Forum einfügen (STRG+V)

    z.B. so
    > "make.exe" all

    > Failed to create process: Der Verzeichnisname ist ungültig.

    > Process Exit Code: 0
    > Time Taken: 00:00

    Dann kann man meistens besser sehen um welche Fehlermeldung es genau geht!

  8. #38
    Neuer Benutzer Öfters hier
    Registriert seit
    03.08.2007
    Beiträge
    11
    Erstmal Danke für die Antwort...

    1. Das mit dem avr-gcc --version klappt.

    2. Ich hab jetzt nochmal ein Beispielprogramm compiliert und jetzt geht das. Gestern funktionierte das komischerweise nicht... Aber hauptsache das geht jetzt

    Mach ich nun ein neues Projekt, mach da das makefile von exampleLED1... (das erste beispiel jedenfalls) und ein neues ,,C-dokument''... wie das auch immer heißen soll. Das nenn ich dann 123 und in dem Makefile mach ich dann auch TARGET = 123 (ohne.c) . Mach in nun MAKE ALL kommt die Fehlermeldung das die angegebene Datei nicht gefunden wurde... Das ist mir aber jetzt auch egal.... Ich finde das eh was komplizierter immer neues projekt öffnen, makefile rein, neues c,,dokument''....

    Ich veränder jetzt einfach immer ein Beispielprogramm. Geht so am schnellsten...

    Und ich wollte noch ma fragen wie lange ich gebraucht hattet, bis ihr C einigermaßen verstanden habt ? Mir kommt das sehr schwer vor.... Habs auch erst 1 Tag xD


    Das war's dann schon

    Mfg

    BacaBej

  9. #39
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    14.04.2007
    Ort
    Einhausen
    Alter
    69
    Beiträge
    699
    Und ich wollte noch ma fragen wie lange ich gebraucht hattet, bis ihr C einigermaßen verstanden habt ? Mir kommt das sehr schwer vor.... Habs auch erst 1 Tag
    Das braucht einige Monate je nach Übung.
    Hier noch ein Link zu C, der Dir vielleicht hilft:
    http://www.pronix.de/pronix-607.html

  10. #40
    BacaBej (Gast)
    Gast

    Problem

    Moin Moin,

    Folgendes Problem: Aus der Anleitung will ich das compilieren:

    Code:
    uint16_t tolleVariable = 16447;
    if(tolleVariable < 16000) // Wenn tolleVariable < 16000
    { // Dann:
    writeString("tolleVariable ist kleiner als 16000!\n");
    }
    else // Sonst:
    {
    writeString("tolleVariable ist größer oder gleich 16000!\n");
    }
    Nun kommt diese Fehlermeldung:

    Code:
    Compiling: RP6Base_SerialInterface_01.c
    avr-gcc -c -mmcu=atmega32 -I. -gdwarf-2   -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=RP6Base_SerialInterface_01.lst -I../../RP6lib -I../../RP6lib/RP6base -I../../RP6lib/RP6common -std=gnu99 -MD -MP -MF .dep/RP6Base_SerialInterface_01.o.d RP6Base_SerialInterface_01.c -o RP6Base_SerialInterface_01.o
    RP6Base_SerialInterface_01.c:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'tolleVariable'
    RP6Base_SerialInterface_01.c:2: error: expected identifier or '(' before 'if'
    RP6Base_SerialInterface_01.c:6: error: expected identifier or '(' before 'else'
    RP6Base_SerialInterface_01.c:9:2: warning: no newline at end of file
    make: *** [RP6Base_SerialInterface_01.o] Error 1
    
    > Process Exit Code: 2
    > Time Taken: 00:00
    Das müsste ja eigentlich klappen...

    Ich denke mal der weiß net was uint8_t und so ist. Unter Tools-> keywords steht das aber drin


    Mfg

    BacaBej

Seite 4 von 6 ErsteErste ... 23456 LetzteLetzte

Berechtigungen

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

12V Akku bauen