Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Én inkább 10millio - t írnék. Eltűnt a székalábújós szmájli.
A '.' nem egyértelműen alfanumerikus karakter. Van olyan cimkéd, hogy 'kisebb_mint_10' ? A hozzászólás módosítva: Okt 5, 2012
Most latom, hogy masnak cimeztem a neked szant valaszt.
Bányásztam a netről magamnak egy 6 bájtot 3 bájttal elosztó algoritmust: Bővebben: Link
Átírtam benne a regiszterek nevét olyanokra, amik már egyébként is le vannak foglalva a memóriából mert más szubrutinok is használják (hogy ne kelljen kétszer annyi regiszter). Most így néz ki mint a mellékletben. De nem működik sajnos. Miért nem? Csak átneveztem a regisztereket! A 99980001/360000 osztás eredménye szerinte 397809316 és marad 263936. Hát nagyon nem!
Megvan! A legelső sor volt a hibás:
Idézet: „movlw 48” helyesen: Idézet: „movlw d'48'”
Szia!
Ahol rlcf van, ott addwfc ill subwfb utasítást is lehet használni...
Nekem lefordult az a három soros részlet, gond nélkül. Jópofa ez a pont a címkékben, valószínűleg használni fogom.
Mivel az MPASM Help-ben azt irja a pont nem tamogatott, nem javasolnam annak hasznalatat, hiszen ha ne adj isten a fordito kovetkezo valtozataban kijavitjak azt a hibat ami ezt neked megengedi, akkor nagy bukta van!
Idézet: „108 Illegal character An illegal character in a label. Valid characters for labels are alphabetic (a..f, A..F), numeric (0-9), the underscore (_), and the question mark (?). Labels may not begin with a numeric.”
Most veszem eszre, hogy a leiras rossz (azt irja alfabetikus, ezzel szemben A-F -ig sorolja csak fel a karaktereket). Akartam irni, hogy ekezetek sincsenek tamogatva, ami valosznuleg igaz, de igy hibas doksira nem lehet tamaszkodni.
A hozzászólás módosítva: Okt 6, 2012
Itt van egy kapcsolási rajz: Bővebben: Link
Van ötletetek hogy a JP5-ös csatlakozóra hogyan lehetne egy háromállású kapcsolót kötni hogy mindhárom állását a PIC érzékelje?
Valamelyik Tips And Tricks-ben van egy ötlet, egy kondenzátorral, ellenállással. Három állást tud, (föld,táp és nyitott) ha jól emlékszem.
DS40040B, 4. oldal. A hozzászólás módosítva: Okt 6, 2012
Helló!
Egy próbát megér...
Szia!
Köss a kivezetés és a föld közé egy alkalmas kondenzátort, a kapcsolók pedig többféle ellenállást kapcsoljanak a táp és a kivezetés közé. A mérés előtt kellő ideig tartsd a kimenetet alacsony szinten. Amikor kikapcsolod a kimeneti meghajtót indíts el egy időmérést. A mérésnek akkor van vége, ha a bemenet magas szintet érzékel. Egy R-C kör felfutását méred az ST vagy TTL bemenet komparálási szint eléréséig. Egy kis matematika vagy kísérleti mérés alapján lehet azonosítani az ellenállás értékét...
Szia!
Nem rossz ötlet, de elég bonyolult. Ha ilyen ára van akkor inkább bevonom az ICSP csatit a munkába.
De ha teszel két felhúzó ellenállást, és a kapcsoló közös ágát a Vss-re teszed, akkor működnie kell.
Szerintem még a dióda sem kell !? Ha az egyik vagy a másik vagy egyikre sem adsz GND-t, ez adja a 3 állást!
Steve
De ha a VSS-t is használom akkor már nem a JP5-ös csatira kell a kapcsolót kötni hanem a JP5-re plusz valahogy a VSS-re. Így nem olyan elegáns.
Akkor VSS-t és GND-t is be kell kötni, így már négy vezetéknél tartunk.
Marad az ICSP csati és kész. Ez azért is jó mert akkor a JP5 szabadon marad és oda tehetek külső kvarcot, így pontosabb lesz a fogyasztás-mérés. Jó hogy pont az OSC1 és OSC2 lábakat vezettem ki arra a csatira.
Szerk.: Ez esetben viszont új kérdésem van! Hogyan tudná a PIC érzékelni hogy van-e rá kvarc kötve vagy sem? A hozzászólás módosítva: Okt 6, 2012
Ha már nem tudsz odarakni a NYÁK-on még egy csatlakozási pontot, akkor tegyél nyomógombot és azzal váltogasd az üzemmódot, úgy is van kijelződ és azon jelzed az üzemmódot Ez így elegáns !
Steve
Nem tudok még egy csatlakozási pontot lerakni mert a nyák két éve készen van csak most szeretném utólag feltuningolni.
A nyomógomb nekem is eszembe jutott legelső megoldásként, de szerintem a háromállású kapcsoló informatívabb lenne az előlapon. Bár nem tudom, lehet mégis nyomógomb lesz. Még egy kérdés: A PIC belső oszcillátoráról járatva egy szoftveres órát nagyjából milyen pontatlanságra számíthatok? Mondjuk 1 óra alatt nagyságrendileg mennyit csal szerintetek? A hozzászólás módosítva: Okt 6, 2012
Akkor az én megoldásom jön az eredeti problémádra: a háromállású kapcsolót úgy kötöd be, hogy egyik állásában az OSC1-OSC2 legyen összekötve, a középső állásában semmi, a másik állásában meg az OSC2-VDD.
A csel pedig az, hogy az OSC1-en hol 1-et, hol 0-át kell kiadni, majd (valami rövid várakozás után) megnézni az OSC2-n mi jött be. A beolvasott két bitnek 4 variációja lesz, ebből 3 a kapcsoló 3 állása, a negyedik meg csak átkapcsolás közben állhat elő. A hozzászólás módosítva: Okt 6, 2012
Szia!
A feladatban csak a csatlakozón lévő kivezetéseket használhatod, se a GND-t, se a VDD-t, mert Attila86-nak nem elegáns ( kész a NYÁK és nem akar + vezetéket vinni!) ! Steve
Ha kellően sok a feltétel, hamar üres halmaz lesz a megoldás
De van jobb ötletem: a kapcsoló az OSC1 és OSC2 közé kondikat rak, más-más értékben. A lekérdezés előtt az OSC1-et 0-ra kapcsoljuk, megvárjuk, hogy tuti üres legyen a kondi, majd 1-re állítjuk, és X időközönként megnézzük, hogy 0-e már az OSC2. A kondik értékét jól megválasztva jól el lehet különíteni a három állást. A hozzászólás módosítva: Okt 7, 2012
Hello!
Olyan problémám volna, hogy egy pic18f6722es picel fűtést automatizálok. De szeretnék bele órát is amit majd DCF vevővel szinkronizálok. A lényeg hogy timer1 megszakítással járatnám az órát. A timer1 számolás külső órakvarcról megy. De a processzor órajel pedig vagy belső, vagy egy másik külső kvarcról, ami az OSC1 ill. OSC2 lábakra van kötve. (mellékeltem kapcsolási rajzot) Proteusban tesztelem, és az a jelenség az, hogy belép a megszakítást kiszolgáló függvénybe, le is fut, de kapok egy hibaüzenetet: "External oscillator mode 'HS' requies clock to be specified on schematic part. Defaulted to 1.00MHz." És 1Mhz-n fut a program. Pedig a timer1 számláló a külső oszcillátorra van állítva. Mellékelem a main.c-t és a fontosabb header-eket. |
Bejelentkezés
Hirdetés |