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: 23055
 - 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í).