- LiFePO4 Speicher Test         
Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 23 von 23

Thema: RP6 Slave und M32 Slave

  1. #21
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    39
    Beiträge
    1.516
    Anzeige

    Praxistest und DIY Projekte
    > Was soll das tmp[16]?

    für den String.
    Ist lange lange her aber ich glaube der Code wurde geschrieben bevor es eine Funktion printInteger in der RP6CCLib gab.
    Die macht natürlich das gleiche.


    > Wo kann ich das Setzen des ADCs (ADC_Set(ADC_VREF_VCC,0) ) und das thread_delay sonst hintun?

    Da wo es in Deinem Programm hinpasst?!


    Auf der CCPRO Unit kannst Du - wie das Beispielprogramm auch zeigt - Multithreading benutzen d.h. während des Delays können andere Threads laufen.

    MfG,
    SlyD

  2. #22
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.11.2010
    Beiträge
    773
    Aber bei mir geht das leider nicht richtig, seit ich oben gezeigte Codezeilen drin hab, stockt das Programm ziemlich und der RP6 reagiert nur noch langsam.
    Habe es gerade ganz ohne Delay gemacht, klappt wunderbar

    Grüße

  3. #23
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.11.2010
    Beiträge
    773
    So, jetzt gibts ein neues Problem.
    Ich habe nun zum Register, das die M128 ausließt, die Base-LED-Zustände hinzugefügt sowie die Adresse und den Tastencode von RC5-Daten:
    Code:
    void getAllSensors(void)
    {
        RP6_readRegisters(RP6_BASE_ADR, I2C_REG_POWER_LEFT, messageBuf, 27);
        mleft_power = messageBuf[0];
        mright_power = messageBuf[1];
        mleft_speed = messageBuf[2];
        mright_speed = messageBuf[3];
        mleft_des_speed = messageBuf[4];
        mright_des_speed = messageBuf[5];
        mleft_dist = messageBuf[6] + (messageBuf[7]<<8);
        mright_dist = messageBuf[8] + (messageBuf[9]<<8);
        adcLSL = messageBuf[10] + (messageBuf[11]<<8);
        adcLSR = messageBuf[12] + (messageBuf[13]<<8);
        adcMotorCurrentLeft = messageBuf[14] + (messageBuf[15]<<8);
        adcMotorCurrentRight = messageBuf[16] + (messageBuf[17]<<8);
        adcBat = messageBuf[18] + (messageBuf[19]<<8);
        adc0 = messageBuf[20] + (messageBuf[21]<<8);
        adc1 = messageBuf[22] + (messageBuf[23]<<8);
        RC5_adr = messageBuf[24];
        RC5_data = messageBuf[25];
        status_leds_base = messageBuf[26];
    }
    Und genau dort muss ein Fehler liegen, irgendwie beim Registerlesen von den RC5-Daten. Genauer, bei Auslesen von RC5_adr. Denn wenn ich diese Zeile rausnehme, läuft mein Programm wunderbar. Habe ich diese Zeile drinnen, kommt mein Programm gerne ins stocken. Um genau zu sein, geht alles gut,bis ich einen Fahrbefehl rausgebe. Solange der RP6 sich bewegt, dauert es locker drei-vier Sekunden, bis das ACS Objekte erkennt bzw. erkennt, dass sie nicht mehr da sind.

    Wär schön zu wissen, was da schief läuft...

    Danke Euch
    Geändert von fabqu (05.12.2011 um 16:56 Uhr)

Seite 3 von 3 ErsteErste 123

Ähnliche Themen

  1. Slave Transmitter und Slave Receiver Mode
    Von masasibe im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 26.02.2011, 19:55
  2. I2C Slave
    Von Jada im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 19.06.2010, 11:47
  3. Slave-Master-Slave übertragung geht nicht
    Von Dämmi im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 16
    Letzter Beitrag: 26.11.2008, 00:08
  4. I2C-Slave
    Von liggi im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 02.01.2008, 16:02
  5. Pic als Slave am I2C
    Von kalletronic im Forum PIC Controller
    Antworten: 4
    Letzter Beitrag: 04.08.2006, 19:46

Berechtigungen

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

LiFePO4 Speicher Test