- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 9 von 9

Thema: unterschiedliche zustände direkt nach Flashen und anschließendem Aus / Einschalten?

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180

    SRF02, m32 & multi-IO, seltsames verhalten

    hallo,

    folgender code (abgespeckte version der RP6Control_MultiIO_03.c)

    Code:
    /*****************************************************************************/
    // Includes:
    
    #include "RP6ControlLib.h"                 // The RP6 Control Library.
                                            // Always needs to be included!
    #include "RP6I2CmasterTWI.h"            // Include the I2C-Bus Master Library
    
    /*****************************************************************************/
    /*****************************************************************************/
    // Include our new "RP6Control LFS Bumper library":
    // (This is the library for accessing the LFS and Bumper Board!)
    
    #include "RP6Control_LFSBumperLib.h"
    
    /*****************************************************************************/
    void writeDouble(double number, uint8_t width, uint8_t prec)
    {char buffer[width + 1];
        dtostrf(number, width, prec, &buffer[0]);
        writeString(&buffer[0]);
    }
    
    /*****************************************************************************/
    // I2C Error handler
    
    void I2C_transmissionError(uint8_t errorState)
    {
        writeString_P("\nI2C ERROR --> TWI STATE IS: 0x");
        writeInteger(errorState, HEX);
        writeChar('\n');
    }
    
    /*****************************************************************************/
    // Main function - The program starts here:
    
    int main(void)
    {
        initRP6Control();    // Always call this first! The Processor will not
                            // work correctly otherwise.
    
        initLCD(); // Initialize the LC-Display (LCD)
                   // Always call this before using the LCD!
    
        writeString_P("\n\nRP6Control Multi IO Selftest 3!\n");
    
        // IMPORTANT:
        I2CTWI_initMaster(100); // Initialize the TWI Module for Master operation
                                // with 100kHz SCL Frequency
    
    
        // Register the event handler:
        I2CTWI_setTransmissionErrorHandler(I2C_transmissionError);
    
    
    
        uint16_t distsrf_1;
    
        startStopwatch1();
    
        // IMPORTANT:
        lfsbumper_init();                            // LFS & Bumper init!!!
        //setServoPower(1);                            // Servo power ON!
    
    
        while(true)
        {
            if(getStopwatch1() > 1000) // 1s
            {
    
    
                // SRF02 sensors test:
    
                distsrf_1 = SRF02_measure(CH_SRF02_1, MODE_CM);
                writeString("\nSRF02 SENSOR_1 ->");
                writeString("\nDistance:  ");
                writeInteger(distsrf_1, DEC);
                mSleep(500);
    
                setStopwatch1(0);
            }
    
            task_I2CTWI();
        }
    
        return 0;
    }
    - der SRF02 hängt direkt an der multiIO, steckplatz 1, der code ist entsprechend angepasst, die zeilen für radar und sharps in der "RP6Control_LFSBumperLib.h" sind auskommentiert

    - der RP6 steht ca. 50 cm von der wand entfernt, der SRF ist auf einem servo montiert, so dass ich ihn drehen kann ohne den roby bewegen zu müssen

    - der code wird ohne fehlermeldungen kompiliert

    - flashe und starte ich ihn, werden als abstand 34cm angezeigt ( es sind gemessen 50cm)

    - verändere ich den code von: "distsrf_1 = SRF02_measure(CH_SRF02_1, MODE_CM);" in: "............._INCH" wird nach kompilieren, flashen und starten 18 inch angezeit, (18x2,5=ca.45)

    - ändere ich den code wieder zurück in "........_CM", werden nach kompilieren, flaschen und starten 51cm angezeigt. Damit wäre ich sehr zufrieden, es bleibt aber nur bis zum AUS- und Einschalten, dann sind es wieder 34cm.

    das gleiche passiert mit der original "RP6Control_MultiIO_03.c"....

    ich verstehe es nicht, kann mir da bitte jemand helfen was da schiefläuft?
    Geändert von inka (13.10.2014 um 12:59 Uhr) Grund: passenderes thema gewählt
    gruß inka

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 15.03.2011, 14:16
  2. NIBObee LED4 nach einschalten an
    Von NIBObee_1 im Forum Sonstige Roboter- und artverwandte Modelle
    Antworten: 7
    Letzter Beitrag: 06.05.2010, 18:40
  3. Temperatur und Drehzahl aus n BIOS direkt vom Board auslesen
    Von Skynet im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 2
    Letzter Beitrag: 29.12.2008, 15:26
  4. Gelbe PowerLED beim RP6 manuell aus- und einschalten
    Von SpäteStunde im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 01.04.2008, 20:22
  5. A/D-Port: EInzelne Pins aus- und einschalten...
    Von tobimc im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 03.07.2004, 14:15

Berechtigungen

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

Labornetzteil AliExpress