jak na user commands PC->PIC

Šerých Jakub Serych@panska.cz
Pátek Červen 11 21:34:40 CEST 2004


> Pouzivam zejmena pri adresaci portu, napr. RA2
> #DEFINE		LED1		PORTA,2

Diky, zase jsem se neco priucil. To program vyrazne zcitelni.

> Otazka tedy zni, co porovnavas s cim, jak to vyhodnocujes. 
> Pokud je to tak
> jak si myslim, tak by me zajimala spolehlivost a 
> pravdepodobnost, ze se
> nesmyslny prikaz provede jako jiny spravny. A nebo jsem uplne 
> mimo a ten XOR
> jen cosi jisti (jakoby parita).
> 
Ano, je to jen pridana redundance. Napriklad (windowsi kalkulacku prepnutou do hex k ruce):

A3h XOR 25h XOR 3Bh XOR 11h = ACh <- to se na prijmu pouzije jako posledni cislo ke XORovani

Spravne prijaty kod:

A3h XOR 25h XOR 3Bh XOR 11h XOR ACh = 0 a u jakekoliv vymyslene kombinace vzdy prave 0

Nespravne prijaty kod (chybu jsem si ted treba vymyslel ve druhem bajtu):

A3h XOR 35h XOR 3Bh XOR 11h XOR ACh = 10h <- tedy nenulova hodnota, ktera proste oznacuje chybu a ja v takovem pripade prijaty prikaz ignoruju. 
Na vysilaci strane budu vysilat cely kod 3x za sebou, takze mam tri pokusy,  ve kterych to doufam alespon jednou dojde bez chyby (radiovy prenos).  


> 
> PS: porad mam trochu zmatek v instrukcich movlw,movf,movfw 
> apod., nedokazu
> rozlisit, s cim prave pracuju, jestli s obsazenou hodnotou 
> nebo s adresou.
> Jak se v tom vyznat?

Ja v hlave vzdy nosim tuhle sipku -> 
Instrukce vzdy strkaji veci timhle smerem. L je literal, tedy konstanta, pokud je tam F, tak je to adresa registru, kam/odkud se hodnota strci.
Instrukce, ktere maji jeste d - destination, umi vysledek strcit budto do registru F (d=1) nebo do W (d=0)
movf a movfw je jedno a to same, mam radsi ten delsi tvar, protoze je citelnejsi  movfw = F -> W 
Neprime adresovani se v PICu dela tak trochu jako drbani se levou rukou za pravym uchem, ale funguje to perfektne. Do registru FSR se strci adresa a pak se provede vlastni instrukce s pseudoregistrem INDF.

Jakub Serych

> 



Další informace o konferenci Hw-list