[elektro] PIC I2C lib
Moczik Gabor
pm_levlista at progzmaster.hu
Tue Oct 19 20:49:27 CEST 2010
Andras Huszti wrote:
> A data az int mert a 0..255ig char afolott meg specialis vezerlokar
> lehetne:
> #define START 0x100
> #define STOP 0x101
> #define EMPTY 0x102
> #define WRITE 0x103
>
> Ha ez megvan akkor lefoglalnam a ICCdatagramm-ot 1 peldanyban. Kuldes
> elott feltoltenem a megfelelo elemeket. Pl hogy adott elem read vagy
> write. Aztan az ISR ezt dolgozna fel. Elonyye, hogy nem fogy el tuti a
> kuldendo adat. Hatranya a fix memoria igeny a sramban.
Erre eloszor gondoltam en is, elore osszeallitok egy szekvenciat hogy
jonnek sorban a read/write muveletek.
Aztan inkabb elvetettem, mivel nem ismerek minden eszközt, és elvben
előfordulhat olyan eset, hogy pl. egy read által visszajött értéktől
függ, hogy kell-e még olvasni vagy írni, mit, mennyit.
Ezt inkább egy az egyben a főprogramra bíznám.
> ISR-ben ha hiba tortenik akkor nincs ertelme tovabb folytatni a kuldest.
A slave NAK válasza végzetes hiba? (mármint nem a címre)
El tudok képzelni olyan eszközt, ami elfogad további adatot függetlenül
attól hogy az előző adatot nem fogadta el.
> A buszt valamilyen ismert helyzetbe kell hozni, vagy most vagy a
> kovetkezo kuldes elott kozvetlenul.
Minél előbb, annál jobb. Ez egyelőre nem multimaster lib, de ebben a
szemléletben gondolkodok.
Tényleg, ha bus collision van, a START feltételt vagy a cím küldését az
ISR újrapróbálhatná párszor a főprogram nélkül is.
Kérdés, hogy van-e ennek értelme?
Ha multi-master környezet van, akkor a főprogramot úgyis fel kell
készíteni az újraküldésre, ekkor meg tökmindegy.
> Esetleg lehet a foprogramnak
> jelezni, hogy bukott a kuldes. Sokszor nem fontos a pontos hiba oka,
> eleg csak szolni ,hogy nem jott ossze. Neha fontos akkor erdemes jobban
> megirni a hibajelzest.
Most epp eleg preciziosra vettem a format :-) eleg sok hibalehetoseg
van, ahogy nezem.
> Szerintem amig a SSPBUF kuldesnel nincs ujratoltve addig nem ad CLK-t a
> master ergo a busz az var. Tehat ez implicit megvan. A slavnek meg van
> clock strechje.
Most azt tettem, hogy ha netan nincs adat, akkor addig letiltja a
megszakitast. Lesz timeout is...
Percek kérdése és eljutok oda hogy kipróbáljam. :-)
--
((( Móczik Gábor )))--((( e|mail: pm-01 |@| progzmaster |.| hu )))
((( S.k.y.p.e.: moczik )))
More information about the Elektro
mailing list