- LiFePO4 Speicher Test    Werbung      
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 19 von 19

Thema: Uhren-Testprogramm funktioniert nicht

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    13.01.2014
    Beiträge
    454
    Zitat Zitat von HaWe
    string und char* sind aber nicht identisch und auch nicht kompatibel zu einander
    'string' ist in Arduino nicht definiert! Folgendes produziert den Fehler 'error: 'string' was not declared in this scope':
    Code:
    void setup() {
        string s = "Kompiliert nicht!";
    }
    void loop() {}
    Zitat Zitat von HaWe
    ... und auch String ist nicht kompatibel zu char*...
    versuche mal, die C-Funktionen wir strncpy, strstr oder strtok auf String anzuwenden!
    Folgender Code zeigt die 'Kompatibilität' von String und C-Funktionen, die mit char* arbeiten:
    Code:
    void setup() {
        String s1 = "Hallo Welt!";
        
        Serial.begin(9600);
        Serial.println(s1);
        
        String s2 = "Ha";
        s2 += "We";
        strncpy(s1.c_str()+s1.indexOf('W'), s2.c_str(), s2.length() );
        Serial.println(s1);
    }
    
    void loop() {}
    [Ausgabe: Hallo Welt! Hallo HaWe!]

    PS: Sorry fredyxx fürs Thread-Hijacken.

  2. #2
    HaWe
    Gast
    Zitat Zitat von Sisor Beitrag anzeigen
    'string' ist in Arduino nicht definiert! Folgendes produziert den Fehler 'error: 'string' was not declared in this scope':
    Code:
    void setup() {
        string s = "Kompiliert nicht!";
    }
    void loop() {}
    Folgender Code zeigt die 'Kompatibilität' von String und C-Funktionen, die mit char* arbeiten:
    Code:
    void setup() {
        String s1 = "Hallo Welt!";
        
        Serial.begin(9600);
        Serial.println(s1);
        
        String s2 = "Ha";
        s2 += "We";
        strncpy(s1.c_str()+s1.indexOf('W'), s2.c_str(), s2.length() );
        Serial.println(s1);
    }
    
    void loop() {}
    [Ausgabe: Hallo Welt! Hallo HaWe!]

    PS: Sorry fredyxx fürs Thread-Hijacken.
    das güldet nicht! Bild  
    du verwendest eine (non-Standard-C) Arduino-String-Class-eigene interne Umwandlungsmethode String::c_str(), um erst Strings in char* umzuformen, und erst dann wendest du cstring- (string.h) Funktionen darauf an!

    Wirklich kompatibel zu ANSI-C char* wäre es nur, wenn du Strings an sich mit cstring-Funktionen verwenden könntest, also z.B.

    String str1= "To be or not to be";
    String str2;
    String str3;

    /* copy to sized buffer (overflow safe): */
    strncpy ( str2, str1, sizeof(str2) );

    /* partial copy (only 5 chars): */
    strncpy ( str3, str2, 5 );
    str3[5] = '\0'; /* null character manually added */

    puts (str1);
    puts (str2);
    puts (str3);


    Output WÄRE (!):

    To be or not to be
    To be or not to be
    To be

    (aus cplusplus.com, verändert)


    Viel SINNVOLLER wäre es allerdings gewesen, C++ string als Grundlage zu nehmen,
    alle string-class-Methoden auf String zu vererben,
    und sie dann durch die Arduino-eigenen String-Methoden zu erweitern.

    DAS wäre C++ kompatibel (da man alle C++ string Methoden weiterhin auch in String zur Verfügung HÄTTE) und durch zusätzliche Methoden Arduino-Anfänger-geeignet.

Seite 2 von 2 ErsteErste 12

Ähnliche Themen

  1. atmega32 führt testprogramm nicht aus
    Von exzoys im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 15
    Letzter Beitrag: 01.02.2011, 10:08
  2. Testprogramm läuft nicht
    Von 9999 im Forum Robby RP6
    Antworten: 24
    Letzter Beitrag: 30.05.2009, 17:05
  3. Testprogramm funktioniert nicht!
    Von Gillich im Forum Schaltungen und Boards der Projektseite Mikrocontroller-Elektronik.de
    Antworten: 2
    Letzter Beitrag: 04.04.2008, 23:49
  4. Testprogramm für rn Control funktioniert nicht richtig
    Von thdrummer im Forum Schaltungen und Boards der Projektseite Mikrocontroller-Elektronik.de
    Antworten: 1
    Letzter Beitrag: 26.02.2007, 15:18
  5. Genauigkeit von Uhren
    Von orph im Forum Elektronik
    Antworten: 5
    Letzter Beitrag: 25.09.2006, 16:48

Berechtigungen

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

    Werbung      Solar Speicher und Akkus Tests