Arduino pomoc
Zdravím , mám takový problém , mám napsaný program na termostat kde se zadává 6 parametrů , které ukládám do EEPROM , jeden parametr je +20 až -20 stupnů , pokud se zadaný údaj pohybuje v kladných číslech tak se do EEPROM uloží v pořádku , ale když zadám hodnotu v mínusových hodnotách tak se neuloží a po načtení je nastavená default hodnota , nevíte co s tím ? asi je potřeba upravit knihovna EEPROM ? a jak ?
Nemám teď po ruce Arduino, abych to vyzkoušel. Pomůže odkaz: http://forum.arduino.cc/index.php?topic=46911.0" onclick="window.open(this.href);return false; ?
není to náhodou u_int ?
SABLE-2015
- robokop
- Site Admin
- Příspěvky: 22424
- Registrován: 10. 7. 2006, 12:12
- Bydliště: Praha
- Kontaktovat uživatele:
tak jsem si to musel dohledat sam
kdyz jsem se te ptal na knihovnu tak jsem ocekaval:
#include <EEPROM.h>
kdyz na definici promenne tak neco jak o toto:
int a = 0;
int value;
a definici tech funkci neco jako toto:
EEPROM.read(address)
Parameters
address: the location to read from, starting from 0 (int)
Returns the value stored in that location (byte)
k tomu popis datoveho typu byte:
A byte stores an 8-bit unsigned number, from 0 to 255.
z toho plyne jednoznacne to ze se da bez konverze ulozit pouze kladne cislo 0-255
asi nejjednodussi konverzi si provedes prictenim odectenim konstanty viz prispevek predemnou
kdyz jsem se te ptal na knihovnu tak jsem ocekaval:
#include <EEPROM.h>
kdyz na definici promenne tak neco jak o toto:
int a = 0;
int value;
a definici tech funkci neco jako toto:
EEPROM.read(address)
Parameters
address: the location to read from, starting from 0 (int)
Returns the value stored in that location (byte)
k tomu popis datoveho typu byte:
A byte stores an 8-bit unsigned number, from 0 to 255.
z toho plyne jednoznacne to ze se da bez konverze ulozit pouze kladne cislo 0-255
asi nejjednodussi konverzi si provedes prictenim odectenim konstanty viz prispevek predemnou
Vsechna prava na chyby vyhrazena (E)
jo , ale já ukládám nastavený parametr - to jest max přípustná venkvní teplota pro spuštění tep čerpadlakutil_tim píše:stejně jsou hodnoty z teplotního čidla čísla kladná
zatim díky za nakopnutí pokusím se něco spáchat
Nemusíš to vůbec posouvat, jen to přetypuj.
EEPROM.write(5, (unsigned char)teplotbl);
Bude to ukládat teploty -128 ... +127, navíc je to nejrychlejší a z hlediska kódu nejkratší možné řešení, protože nebudeš dělat žádnou matematickou operaci (nebude tam to násobení).
EEPROM.write(5, (unsigned char)teplotbl);
Bude to ukládat teploty -128 ... +127, navíc je to nejrychlejší a z hlediska kódu nejkratší možné řešení, protože nebudeš dělat žádnou matematickou operaci (nebude tam to násobení).