Stránka 1 z 1

Zápis do EEPROM BASCOM

Napsal: 29 bře 2010, 15:51
od michalino
Dobrý den,

prosím Vás o radu,
pokud nějakou proměnnou ukládám do EEPROM způsobem:

nějakáproměnná je uložena do ERAM na ADRESE: &H01

jak prosím můžu uložit druhou proměnnou?
Můžu ji uložit do &H02?

třetí do &H03 ?

třicátou proměnnou do &H1E?

A kolik proměnných můžu takto uložit, respektive do jakého nejvyššího čísla &Hxxx můžu jít?

Jak to prosím chápat?

Děkuji,
hezký den všem

Napsal: 29 bře 2010, 17:34
od ZdenekHQ
To asi tak stejná otázka, jako kdyby jsi se zeptal, kolik šatů se vleze do skříně.

Např. do 24C16 můžeš uložit 2048 čísel v rozsahu 0..255 (00h-0ffh) postupně na adresy 0..2047.

Napsal: 29 bře 2010, 17:38
od Andrea
A dlouhých zimních kabátů se do skříně vejde míň než halenek :wink:

Napsal: 29 bře 2010, 19:00
od AB1
ERAM je vnitřní eeprom v procesoru.
Např Atmega8 má 512 bajtů eeprom.
Takže do ní můžeš zapsat 512 jednobajtových proměnných
nebo 256 dvoubajtových (např typu INT nebo WORD)
nebo 8 proměnných typu string*64
atd.

Protože můžeme deklarovat proměnné přímo v oblasti EEPROM,
nemusí nás zajímat na jaké adrese budou umístěny.
Prostě je deklarujeme podobně jako proměnné v RAM.

Kód: Vybrat vše

Dim A as Eram Byte
Dim B as Eram Long
Dim C(20) as Eram Word
atd.

Když proměnné překročí velikost eeprom, překladač ohlásí chybu.

Je ale třeba si uvědomit, že různé funkce Bascomu (např PRINT, LCD) nemohou pracovat přímo s proměnnými v Eeprom. Je třeba je napřed zkopírovat do RAM.

Kód: Vybrat vše

Dim A as eram word          'proměnná v EEPROM
Dim Tempw as word             'proměnná v RAM
Print A      'toto nejde
Tempw = A
Print Tempw

A netrap se zbytečně s hexadecimálními čísly.
Když něco potřebuješ zapsat na adresu 30 tak to zapiš na adresu 30 a ne &H1E.
Mezi čísly &H1E a 30 není naprosto žádný rozdíl kromě způsobu zápisu.
Překladači je jedno jaký zápis použiješ, protože rozumí oběma.
Asi jako člověku který umí česky i německy je jedno jestli mu řekneš "dvacet" nebo "zwanzig".

Napsal: 30 bře 2010, 11:29
od nekmil
AB1 obdivuji Tvou trpělivost :D

Napsal: 30 bře 2010, 17:39
od michalino
Všem děkuji za příspěvky i vtipné připomínky....

zvláště pak AB1 za čas strávený při odpovědi a absolutně srozumitelný styl...samozřejmě také trpělivost, jak píše Nekmil.

Děkuji AB1, přeji vám hezký podvečer.

jdu hned vyzkoušet zápisy na čipu..

zeptal jsem se raději, protože nevím, jak můžu čip zničit a jestli můžu, proto novou věc třeba prostuduju na internetu a pak se Vás raději zeptám, přátelé...

díky ještě jednou