Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Oshonsoft Pic Simulator IDE

[es] :: Elektronika :: Mikrokontroleri :: Oshonsoft Pic Simulator IDE

[ Pregleda: 4304 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

tox!e
NS

Član broj: 20007
Poruke: 269
*.mainstream.co.yu.

ICQ: 267386221


+3 Profil

icon Oshonsoft Pic Simulator IDE27.11.2005. u 00:01 - pre 223 meseci
Kao prvo radim u Pic Simulator IDE programu.Problem je sledeci:

Na serijskom ulazu mikrokontrolera (PIC16f84) mi stizu razni podaci (poruke), a meni treba da PIC "slusa" sta dolazi, i ako naidje vec neka predefinisana poruka, on na to da reaguje.
Npr.:
Predefinisano je ovo : 06915689450002040A91
A na ulazu dobijam : A5487F460460078 (pa onda naidje) 06915689450002040A91 (na sta bi PIC trebalo da izvrsi npr.PORTB.5=1) i onda ponovo nailaze podaci i kada ponovo naidje 06915689450002040A91 da izvrsi neku drugu instrukciju npr. PORTB.5=0 .

Unapred hvala.
 
Odgovor na temu

_str_

Član broj: 53798
Poruke: 878
*.177.eunet.yu.



+10 Profil

icon Re: Oshonsoft Pic Simulator IDE27.11.2005. u 08:07 - pre 223 meseci
Ako je pristizanje "poruka" razdvojeno, odnosno nisu poslate u "cugu", mozes iskoristiti to
kasnjenje da PIC detektuje kraj poruke i onda primljenu poruku preuzme u dalje "razmatranje". Ako su poruke sastavljene onda moras imati definisanu duzinu poruke da bi PIC posle svakog primljenog bajta odlazio na proveru primljene poruke. Sto se tice drugog dela pitanja, mozes definisati jedan registar da broji "ispravne" poruke i na osnovu njega uraditi dalje grananje programa.
__*__
*___*
 
Odgovor na temu

tox!e
NS

Član broj: 20007
Poruke: 269
*.mainstream.co.yu.

ICQ: 267386221


+3 Profil

icon Re: Oshonsoft Pic Simulator IDE27.11.2005. u 11:24 - pre 223 meseci
Za drugi deo vec imam ideju kako da je odradim.Meni je problem ovaj prvi deo.
Naime o cemu se radi:
PIC salje zahtev za slanje podataka prikljucenom uredjaju.Taj uredjaj pri primljenom zahtevu pocinje sa slanjem podataka.Znam duzinu poruke koja treba da se primi, i da jos da napomenem, da su ti podaci u hexadecimanlom zapisu.
Uspeo sam da odradim, da PIC odradi instrukciju posle npr 5 primljenih bajtova, ali meni treba, da izvrsi instrukciju posle 5 bajtova (ali vec predefinisanih bajtova, ne kojekakvih, jer onda cela stvar nema svrhe).
 
Odgovor na temu

_str_

Član broj: 53798
Poruke: 878
*.240.EUnet.yu.



+10 Profil

icon Re: Oshonsoft Pic Simulator IDE27.11.2005. u 12:05 - pre 223 meseci
Nisam siguran dali sam razumeo. Ako PIC vec primi pet bajtova onda bi posle prijema trebao da ih uporedi sa pet konstanti (bajtova) koje si programski podesio prilikom programiranja ili zadao nekim drugim putem. Znaci proverava bajt0 sa bajt0primljeni i tako do bajt4. Ako jednakost nije ispunjena nista od izvrsenja komande.
Opet da napomenem da nisam razumeo, jer u tvome pitanju stoji i odgovor?
__*__
*___*
 
Odgovor na temu

tox!e
NS

Član broj: 20007
Poruke: 269
*.mainstream.co.yu.

ICQ: 267386221


+3 Profil

icon Re: Oshonsoft Pic Simulator IDE27.11.2005. u 15:48 - pre 223 meseci
Problem je u tome, sto neuspevam nikako da uradim to uporedjivanje.
 
Odgovor na temu

lord Vader

Član broj: 57936
Poruke: 757
217.65.192.*



+9 Profil

icon Re: Oshonsoft Pic Simulator IDE27.11.2005. u 20:00 - pre 223 meseci
Pretpostavimo da se PIC nalazi u stanju čekanja i da nailazi pogrešna poruka. Pretpostavimo da je poruka od 3B i nema nikakav overhed da bi bilo lakše. Neka je komanda koju očekujemo 123, a primaš 124.
Primaš prvi bajt, porediš ga sa prvim bajtom poruke koju očekuješ, 1 i 1 su identični i čekaš drugi bajt. Primaš drugi bajt i porediš sa drugim koji očekuješ 2=2 OK. Primaš treći bajt i porediš ga sa trećim koji očekuješ 4=3 NIJE OK. Ovde provaljuješ da to nije očekivana komanda i restartuješ proces primanja, odnosno čekaš početak sledeće komande.
Ako ti stigne 123 komanda u poslednjem poređenju će biti 3=3 i tada vidiš da je primljena komanda koja je očekivana i odradiš akciju koju hoćeš.

Ako radiš u asembleru onda ovako. U m_Novi se nalazi primljeni bajt, a u m_KomandaB0 očekivani.


Code:

movf      m_Novi, w
xorwf     m_KomandaB0, w
btfsc      STATUS, Z
goto       Isti_Su

Nisu_Isti
....
...
..


Ovako radiš za svaki bajt.

Pitaj šta ti nije jasno.

[Ovu poruku je menjao lord Vader dana 27.11.2005. u 21:03 GMT+1]
2 sxy 4 ma shirt
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: Oshonsoft Pic Simulator IDE

[ Pregleda: 4304 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.