Dotazy začátečníka

Odpovědět
jova
Příspěvky: 361
Registrován: 16 pro 2013, 11:40

Re: Dotazy začátečníka

Příspěvek od jova »

Jsem v práci takže nemohu otestovat na LCD, ale mělo by to tak být.
Příkazy eeprom dávám na začátek programu.
Velikost viz: http://www.picaxe.cz/wp-content/uploads/Eeprom.pdf
DavidO
Příspěvky: 1133
Registrován: 01 kvě 2013, 21:27

Re: Dotazy začátečníka

Příspěvek od DavidO »

Pivrnec78 píše: 21 úno 2018, 09:20 Takže já příkazem "EEPROM" určím, co uloží do paměti např:
...
Ano, pochopil jsi to celé dobře!
Já jsem v tom kódu ještě udělal fintu, aby vypisování mohlo být stejné a nezávislé, že si i ty začátky uložím do EEPROM, ale to už je jen taková třešnička na dortu, která by ušetřila pár bajtů v programové paměti.
Pivrnec78 píše: 21 úno 2018, 09:20 No a já mu určím, že znak (písmeno) z pozice "0" přijde zobrazit na pozici "128", ale zobrazí další znak z pozice "1" na pozici "128+1" ... tedy na "129"?
Ano. Tím, že na displej zapíšeš jeden znak, se kurzor v řadiči displeje automaticky posune na další pozici.
Pivrnec78 píše: 21 úno 2018, 09:20 A ještě drobnost ... příkazy eeprom dávám normálně do programu až za start: nebo před - tam kde určuju proměnné a spol?
Myslím, že by to mělo být jedno (protože to fakticky nevytváří kód, ale kompilátor z toho udělá data co se pak do té EEPROM nahrajou), ale já osobně bych to dal buď na úplný začátek nebo na úplný konec, aby se mi to vizuálně nepletlo se zbylým programem.
Pivrnec78 píše: 21 úno 2018, 09:20 A další věc - kam až můžu do eeprom zapisovat? pro 08M2 až do 256 nebo více?
Myslím, že všechny PICAXE mají tímhle způsobem přístupných 256 buněk v EEPROM, tj. adresy 0..255. (až na nějaká stará)
Ty velikosti co posílal odkaz jova se týkají velikosti sdílené paměti pro program a data.
Nikoho plánovaně neurážím. Jestli se Vám nelíbí co píšu, tak to nečtěte. A ostatně, třeba za to nemůžu - Researchers believe that dark humor can be a significant symptom of dementia.
Pivrnec78
Příspěvky: 73
Registrován: 30 dub 2017, 15:25

Re: Dotazy začátečníka

Příspěvek od Pivrnec78 »

Děkuji za vysvětlení.
Zjistil jsem, že kdybych dával do paměti vždy celý text, tak bych potřeboval velikost paměti asi 478. Takže to asi budu skládat z jednotlivých částí ... ale to až na to budu mít čas ...
jova
Příspěvky: 361
Registrován: 16 pro 2013, 11:40

Re: Dotazy začátečníka

Příspěvek od jova »

Taky by jsi mohl text rozdělit a opakující se výrazy použít vícekrát. Tady třeba slovo "stanoviste"

Kód: Vybrat vše

EEPROM 0, ("Kuse stanoviste ")
EEPROM 16,("Trat. stanoviste")
EEPROM 32,("Priv.N. trat.st.")
Taky jsem koukal na to mé menu v řadiči LCD a využívám tam příkaz table. Měl by mít u procesoru M2 512bitů a taky neovlivňovat paměť programu. U té 20M2 mi to funguje, u 8M2, co jsem zkoušel ne.
Pivrnec78
Příspěvky: 73
Registrován: 30 dub 2017, 15:25

Re: Dotazy začátečníka

Příspěvek od Pivrnec78 »

No, abych řekl pravdu, ono to ve výsledku bude na vyšší řadě. Na 08M2 jsem zatím zkoušel menu a ovládání displeje, protože ji mám doma. Takže klidně to potom může být třeba na 14M2 nebo i na Tvé 20M2 ...
David
Příspěvky: 39
Registrován: 19 dub 2013, 18:05

Re: Dotazy začátečníka

Příspěvek od David »

Zdravím,
nemám žádné zkušenosti s problematikou komunikace mezi dvěma procesory (nikoli PIC - displej) a tak jsem se chtěl optat, zda je s procesory Picaxe možné vyšpekulovat řešení, které uvádím níže na obrázku. Přesněji ...

1. Je možné pro komunikaci mezi řídícím a řízeným procesorem využít jakýkoli výstupní pin řídícího procesoru ?
2. Je možné pro komunikaci mezi řídícím a řízeným procesorem využít jakýkoli vstupní pin řízeného procesoru ?

Jde mi především o úsporu vodičů mezi oběma procesory a proto úvaha věc řešit takto. Bylo by tedy zapotřebí jen vodičů +V, GND a Data. Spotřebiče budou k řízenému PIC samozřejmě připojeny ještě přes výkonové spínací obvody.

https://ibb.co/euc2H8

Děkuji za případné reakce.

David
Uživatelský avatar
fulda
Příspěvky: 1359
Registrován: 04 led 2016, 17:18

Re: Dotazy začátečníka

Příspěvek od fulda »

Možná by stálo za pokus popsat, co si představuješ pod pojmem řízení/komunikace?

Jinak na to dostaneš zcela správnou, ale pro tebe neužitečnou odpověď.

Tedy pro začátek - jak často a o čem si mají ty procesory povídat? Mají si povídat jedním směrem? nebo obousměrně?

Například sběrnice DCC nebo 1-wire si vystačí se dvěmi dráty pro napájení a data zároveň, takže to v principu možné je.
Dálkové ovládání od televize je také komunikace a těch drátů tam je ještě méně.

Klasické připojení zvonku na jeden drát:
Přílohy
1drat.jpg
1drat.jpg (33.56 KiB) Zobrazeno 6657 x
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
David
Příspěvky: 39
Registrován: 19 dub 2013, 18:05

Re: Dotazy začátečníka

Příspěvek od David »

Zdravím,
komunikace má probíhat pouze jednosměrně a to od řídícího PIC k řízenému. Uvažuji o stavbě modelu silniční křižovatky pro ratolesti a ony spotřebiče by měly být LED, případně i generátor zvuku v jednotlivých semaforech. Program v řídícím PIC by tedy do každého semaforu (jeho řízenému PIC) "poslal" data a řízený PIC by pak dle svého programu rozsvěcel LED semaforů. Aby bylo řízení křižovatky pro omladinu zajímavější, k řídícímu PIC by se také mohly připojit spínače/přepínače a rozsvěcení LED na semaforech by se pak ovládalo i manuálně. Pravda, semafory budou jen čtyři a tak se nabízí i určitě levnější řešení jen s jedním vícevývodovým PIC který by svými výstupními piny mohl všechny spotřebiče "utáhnout", ale rád bych zkusil právě to řešení s přenosem dat mezi dvěma PIC. Jsem v tom ale opravdu "nepolíbený", tak proto mé asi až příliš laické dotazy.

Ano Fuldo,
pro nás "drážní" modeláře existuje ... https://www.mtb-model.com/elektro/s-com-zhl2.htm , ale pro můj záměr jde o zbytečně nákladné a složité řešení.

David
Uživatelský avatar
jrt
Příspěvky: 1921
Registrován: 17 úno 2013, 17:13

Re: Dotazy začátečníka

Příspěvek od jrt »

Doporučuji si prostudovat příkazy SERIN a SEROUT vyzkoušet jednoduchým programem a pak už asi bude vše jasnější.
1. Je možné pro komunikaci mezi řídícím a řízeným procesorem využít jakýkoli výstupní pin řídícího procesoru ?
2. Je možné pro komunikaci mezi řídícím a řízeným procesorem využít jakýkoli vstupní pin řízeného procesoru ?
Z manuálu:
1) Pro sériový výstup dat lze použít libovolný vstupní pin, kromě pinu, který používá příkaz sertxd.
2) Pro sériový vstup dat lze použít libovolný vstupní pin, kromě pinu, který používá příkaz serrxd.
jrt
jova
Příspěvky: 361
Registrován: 16 pro 2013, 11:40

Re: Dotazy začátečníka

Příspěvek od jova »

Zdravím.
Zkouším tu takovou jednoduchou komunikaci rozchodit a nějak se nedaří.
Procesor 20X2 vysílá dvoumístná časová data z RTC pinem C.2 (hod, min, sec)

Kód: Vybrat vše

setfreq m32
...
serout C.2, N4800,(#hour,#mins,#seconds)
...
Procesor 8M2 přijímá data pinem C.1 a pak zobrazí na LCD - výstup C.4

Kód: Vybrat vše

setfreq m4
Do
serin C.1, N2400, b0,b1,b2
serout C.4,N4800,(254,192)
serout C.4,N4800,(#b0,":",#b1,":",#b2)
pause 1000
serout C.4,N4800, (254,192)   ;druhý řádek, první pozice
serout C.4,N4800, ("                    ")
Loop
Na obrazovce se mi však místo času zobrazí například 236:255:172
Komunikace tam nějaká je, když přestanu vysílat, čísla zmizí, ale jinak jsou tam místo toho času jen třímístná nesmyslná měnící se čísla. Co dělám špatně?
Odpovědět