- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 10 von 18

Thema: Probleme bei Programmierung

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied
    Registriert seit
    30.11.2009
    Ort
    Gütersloh
    Beiträge
    46
    Um die Motoren zu stoppen ist lediglich ein _copro_stopImmediate();_ nötig.

  2. #2
    Hero_123
    Gast
    Hallo freekwave

    1.) "copro_setSpeed(20,20)" heißt, dass der NIBO2 mit ca 7cm/s (linkes Rad, rechtes Rad) fahren soll - und das macht er, bis er entweder einen Stopp-Befehl erhält oder man die Speed ("copro_setSpeed(0,0)" auf NULL setzt.
    2.) Ich habe mir mal kurz Dein Programm angesehen - man sollte in der main keine Funktionen deklarieren, sondern sie nur verwenden; die Deklaration sollte außerhalbe der main erfolgen
    3.) mit while(1==1) in einer Funktion zu arbeiten ist sehr gefährlich, da gibt es keine Abbruchbedingung => wird IMMER WEITER durchgeführt
    4.) "while(copro_distance[2]<3){ motor_geradeaus (); }" => das fkt so nicht, denn: solange der Abstand < 3 ist, soll der NIBO geradeaus fahren => Du liest aber in der while-schleife NIE den neuen Abstand ein(copro_update!!)

    mfg


    Hero_123


  3. #3
    Benutzer Stammmitglied
    Registriert seit
    30.11.2009
    Ort
    Gütersloh
    Beiträge
    46
    Hallo.

    Ich hätte da auch mal eine Frage zur Programmierung und zwar würde ich gerne
    Mittels nds3_get_dist(); ermittelte Werte über XBee versenden. Den ermittelten
    Wert speicher ich wie folgt:

    uint8_t dist_val1 = nds3_get_dist();

    Über XBee lassen sich anscheinend nur Zeichen im Hex-Format versenden.
    Mein Problem ist jetzt irgendwie den gespeicherten Wert in dist_val1 in
    einzelne Hex Werte zu zerlegen. Mir wäre schon geholfen, wenn ich wüßte,
    wie ich den Wert in dist_val1 in einen _array_ kriegen würde. Natürlich nicht
    als _string_, sondern irgendwie in der Form array[0]=1; array[1]=8; array[2]=0;
    Besser wäre natürlich noch array[0]=0x31; array[1]=0x38; array[2]=0x30;.

    Vielen Dank.

    Lieben Gruß
    sourcecode

  4. #4
    Hero_123
    Gast
    Hallo sourcecode

    mal ein paar Fragen zu Deinen XBEEs - wie hast Du die denn konfiguriert, mit welcher Baudrate sendest Du, welches Terminalprogramm verwendest Du, wie hast du den FDT-Treiber konfiguriert?

    Ich habe bei meinen XBEE Modulen ein seltsames Phänomen - ich verwende als Anzeige hterm, ein XBEE ist als Enddevice, das andere als Coordinator konfiguriert (hängt am PC - USB). Wenn ich nun das erste Mal das Modul am USB anstecke, hterm starte und den NIBO einschalte (der dann sofort das Senden beginnt), empfange ich die Daten am PC problemlos. Wenn ich das hterm beende ("disconnect" und Programm beenden) und dann wieder starte und connecte, empfange ich weiterhin Daten (soweit, so gut).
    Wenn ich nun mich wieder disconnecte, den NIBO AUSSCHALTE und nach ca 3 min wieder EINSCHALTE und mit hterm wieder Daten empfangen will, fkt es nicht mehr - ich empfange einfach keine Daten mehr vom NIBO, obwohl er sendet; ich kann aber Daten an den NIBO senden. Erst wenn ich alles ausschalte (also auch den PC neu boote) kann ich wieder daten vom NIBO empfangen...
    Hast Du dieses Phänomen auch schon mal gehabt, dass keine Daten mehr empfangen werden, wenn der NIBO aus- und dann nach ca 3 min wieder eingeschaltet wird???

    Hero_123

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    30.11.2009
    Ort
    Gütersloh
    Beiträge
    46
    Hallo Hero_123,

    das Phänomen kann ich nur bestätigen. Passiert bei mir von Zeit zur Zeit auch.
    Manchmal reicht es den XBee-Explorer (USB) aus zu stöpseln und wieder ein
    zu stöpseln - manchmal muß ich auch komplett den Rechner neu starten.

    Konfiguriert habe ich die XBee's ebenfalls als Coordinator und Enddevice. Baudrate 57600.
    Als Terminalprogramm verwende ich X-CTU.
    FTDI-Treiber Konfiguration: Senden/Empfangen 4096 Bytes
    Wartezeit: 1ms
    Timeouts Lesen/Schreiben: 0

    sourcecode

  6. #6
    Hero_123
    Gast
    Hallo sourcecode

    Einerseits freuts mich, dass Du die gleichen Probleme hast wie ich - anderseits ist das echt sch*** - könnte mir vorstellen, dass es am FTDI-Treiber liegt, habe es mit dem "alten" und dem "neuesten" Treiber ausprobiert - kein Unterschied...werden wohl damit leben müssen (also den NIBO NICHT ausschalten)..mein Treiber ist wie Deiner konfiguriert; ein wirklich gutes Terminalprogramm ist hterm - läuft auch auf WIN 7!

    Zu Deiner Frage - ich übertrage mit dem XBEE z.B die Drehzahl und lass sie mir im hterm als Dezimalwert anzeigen - dazu wandle ich den Wert und speicher ihn und schicke dann den Wert charweise über das XBEE-Modul: anbei einige Code-Schnipsel:

    #define buf 80 /* Groesse Char-Buffer Wert einlesen - Empfangsbuffer */
    char buf_ges[buf]; /* gesamter Buffer zum Werte rausschreiben */
    char temp_buf[8]; /* temporaerer Buffer zum zwischenspeichern */



    itoa((int8_t)copro_speed_l, temp_buf, 10); /* umwandeln und speichern der Speed links */
    strcat(buf_ges, temp_buf);
    usart_puts(buf_ges);


    /* Funktion, um Character auf Terminal auszugeben */
    extern void usart_putc(unsigned char c) {
    while(!(UCSR1A & (1 << UDRE1))){
    }
    UDR1 = c;
    }

    /* Funktion, um String auf Terminal auszugeben */
    extern void usart_puts(char *s) {
    while (*s){ /* solange nicht Stringende erreicht */
    usart_putc(*s); /* Aufruf Fkt usart_putc(*s) */
    s++; /* Zeichen um 1 weiter zaehlen */
    }
    }

    hoffe, das hilft ....

    Hero_123

    edit: habe vergessen zu erwähnen, dass bei mir über den UART1 gesendet wird (ich habe mir meine eigenen UART1-Fkt geschrieben), das XBEE Modul habe ich über SteckerX6 angeschlossen; verwendest Du das XBEE-Modul von nicai?
    Geändert von Hero_123 (22.12.2011 um 21:54 Uhr)

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    30.11.2009
    Ort
    Gütersloh
    Beiträge
    46
    Hallo Hero_123,

    vielen Dank für die Code Schnipsel. Momentan kann ich damit noch nicht sehr viel anfangen.
    Ich denke bzw. hoffe das es für meine Problemlösung etwas einfacher gehen sollte/dürfte
    Werde mich die Tage nochmal damit beschäftigen.

    sourcecode

Ähnliche Themen

  1. Probleme mit der Asuro Programmierung...:(
    Von RobinHood im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 0
    Letzter Beitrag: 10.04.2010, 15:30
  2. Probleme bei Programmierung des Atmege32
    Von Daniel1979 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 01.04.2008, 15:29
  3. Probleme bei AVR Butterfly-Programmierung
    Von Youngtimer im Forum AVR Hardwarethemen
    Antworten: 4
    Letzter Beitrag: 21.11.2007, 18:01
  4. tiny13 Probleme mit Programmierung
    Von gulliver im Forum Assembler-Programmierung
    Antworten: 13
    Letzter Beitrag: 07.10.2007, 22:19
  5. Probleme mit IR/RC5 Programmierung
    Von Lutz im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 8
    Letzter Beitrag: 09.03.2005, 17:31

Berechtigungen

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

Labornetzteil AliExpress