Provedení příkazů z EEPROM

Odpovědět
hary
Příspěvky: 43
Registrován: 31 led 2014, 17:15

Provedení příkazů z EEPROM

Příspěvek od hary »

Dobrý den. Prosím zkušenější o radu. Prostřednictvím Picaxe řadyM2 dovedu zapsat do EEPROM 24LCxxx text (i příkazy) a načíst je (a poslat na LCD displej). Potřeboval bych však přes Picaxe dostat do eeprom (alespoň jeden) program a pak jej dle potřeby (např. po stisknutí tlačítka) vyvolat a provést. Příkazy se mi načtou, ale neprovedou. Děkuji.
AlesH
Příspěvky: 323
Registrován: 25 úno 2013, 09:18

Re: Provedení příkazů z EEPROM

Příspěvek od AlesH »

Ahoj. Podle popisu PICAXE příkazu "run" to bohužel vypadá, že spuštění programu ze "slotu" na externí EEPROM dokážou jen PICAXE řady X2. Nemám externí I2C EEPROM, takže to nemohu vyzkoušet.

Nejsem si jist, jestli to půjde na řadě M2 nějak obejít. V tom popisu "run" příkazu píšou, že např. PICAXE 20M2 má kromě interního "slotu 0" i interní "slot 1", takže teoreticky mne napadá, že by možná šlo přehrát program z externí EEPROM do toho interního "slotu 1" a pak ho spustit příkazem "run 1", ale popravdě teď netuším, jak to zapsat do programu.

Druhou "obcházecí" možností, kterou vidím, je napsat si vlastní "interpret" několika základních potřebných příkazů a program pak provádět (větvit) podle dat, uložených na externí EEPROM. To už je ale hodně "kruté" řešení, které by se mohlo hodit jen v některých speciálních případech (musel by stačit jen omezený počet příkazů a program by běžel velmi pomalu). Nic lepšího mne ale v tuto chvíli nenapadá.

P.S.: Vlastně možná ještě úplně nechápu, jak posíláš "PICAXE příkazy" do té EEPROM. Jako text? Nebo nějak jinak?
raadya

Re: Provedení příkazů z EEPROM

Příspěvek od raadya »

Direktivou #SLOT nahrajes kod do prislusne casti EEPROM. Melo by to fungovat na M2 procesorech:

Kód: Vybrat vše

; Tento program se spusti po restartu
#SLOT 0
RUN 1

; Tento program se spusti prikazem RUN 1
#SLOT 1
  MAIN:
    HIGH 1
    PAUSE 100
    LOW 1
    PAUSE 100
  GOTO MAIN
  
hary
Příspěvky: 43
Registrován: 31 led 2014, 17:15

Re: Provedení příkazů z EEPROM

Příspěvek od hary »

Díky za rady. Zdroják od Raadya neprojde syntaxí pro M2 ani X2. Když se v 5.řádku kódu nahradí slot1 příkazem run1 a jedničky ve 3. a 5. řádku se nahradí třeba čtyřkou, projde to pro X2. Jenže když se nikde nezadá adresa EEPROM, tak se z ní program nenatáhne. Zkoušel jsem tam vecpat ještě příkaz booti2c, ale bez úspěchu.
AlesH
Příspěvky: 323
Registrován: 25 úno 2013, 09:18

Re: Provedení příkazů z EEPROM

Příspěvek od AlesH »

Faktem je, že v PDF verzi PICAXE manuálu se u příkazu "run" už nikde nezmiňuje řada M2, ale výhradně řada X2 (a jiný slot než 0 dokonce jen u 28X2 a 40X2).

S těmi sloty (nebo booti2c) by to tedy zřejmě fungovalo jen u PICAXE 28X2 nebo 40X2.

Pro jiné řady PICAXE mi jako "workaround" tedy zatím pořád zůstává jen ten ručně napsaný "interpret". Co konkrétně bys chtěl tím programem z externí EEPROM řešit?
Naposledy upravil(a) AlesH dne 15 kvě 2015, 10:06, celkem upraveno 1 x.
raadya

Re: Provedení příkazů z EEPROM

Příspěvek od raadya »

To je divne, me to ve WinAxePadu (Verze 1.5.1) pro 20M2 jde bez problemu prelozit.
Nahrat na procesor jsem to teda nezkousel.
Odpovědět