Keresés

Új hozzászólás Aktív témák

  • Dißnäëß

    veterán

    válasz Janos250 #13379 üzenetére

    Sziasztok, kis segítséget kérnék nálam tapasztaltabbaktól: egy Leonardo-val eltelt idôt szeretnék mérni.

    Azaz "bekapcsolt órák száma". Amolyan futásteljesítményt.

    Ha elér az eszköz bizonyos óraszámot, valamit jelzek egy LED-el, és ha cserélve az alkatrész újra, egy gombbal ezt nullázni lehet és ismét nulla óráról számol.

    Mivel a kerek órák fontosak, ne legyen sok bukás az órák közötti perceken, igazából percekben mérnék, nem is órákban, tehát minden megkezdett percnél billentsen egyet a számlálón a kütyü.

    Kell egy ilyenhez RTC, vagy anélkül is megy vajon ?
    (Egy olyan Leonardo kompatibilisem van, aminek aljába tehetô egy lapos gombelem, van rajta RTC, de ez a nagy modul, én inkább picivel oldanám meg, ami akkora, mint a hüvelykujjam körme. Jó a nagy is, csak ágyúval veréb ennyire egyszerû dologra elhasználni a rengeteg kimenetet, bemenetet).

    :R (Szerk: bocs, nem Neked, új hsz lenne).

    Az Arduino-t egy pici nyák trafóról és diódahídról hajtanám. Érzékelné, amikor a fô eszközt kikapcsolom és megszûnik a saját tápja is. Az egyenirányítás után kellôen "nagyra" választott pufferkondival adhatok neki még bármennyi másodpercet, míg frissíti ezt a számlálót vmi flash-be vagy ilyesmibe és utána ô is kikapcsol. Ez az elmélet. Ezeket megoldom, az óra kérdéses számomra, hogyan számolom a perceket és hogyan, hova érdemes letárolni ôket, hogy következô indulásnál azt kiolvasva ott folytassa, ahol abbahagyta.

    (Tehát elég kikapcsolásonként 1x írni, nem percenként, ez kíméli a flash-t is).

    [ Szerkesztve ]

    POKE 16017,44 ..... SYS 2077

  • Tankblock

    aktív tag

    válasz Janos250 #13379 üzenetére

    Szia,

    Annyit pontosítanák, hogy a "C string" jelen esetben egy constans char tömb.

    const char[4]
    lesz. Ami fordítási időben kerül lefoglalásra. Erre próbált meg a kolléga castolni egy String osztályt, és ezért kapott null pointert.

    Az Arduino String osztály létrehozásakor a const char * ból egy a String osztályban lévő tárolóba másolódik a tömb tartalma.

    String::String( const char *value ){  
    if ( value == NULL )    value = "";  
    getBuffer( _length = strlen( value ) );  
    if ( _buffer != NULL )    
    strcpy( _buffer, value );
    }

    van = operátor, a definíció szerint az csak String osztályt képes String osztályal hasonlítani.const String & String::operator=( const String &rhs ){  if ( this == &rhs )    return *this;  if ( rhs._length > _length )  {    free(_buffer);    getBuffer( rhs._length );  }    if ( _buffer != NULL ) {    _length = rhs._length;    strcpy( _buffer, rhs._buffer );  }  return *this;}

    Forrás : [link]

    Jó feladat operátor overload megírása const char * ra :DD

    Szerk: code szétcsúszott.

    [ Szerkesztve ]

    Release the Beast....

Új hozzászólás Aktív témák