Fórum témák
» Több friss téma |
Mintha nem nyitna ki a diódád, próbáld ki szembe fordítva először, aztán jöhet a reflexiós. De ez nem pic kérdés!
Próbáld meg a 12k-t a táp helyett az LM324 kimenetére (1-es láb) kötni.
Segítsetek nekem legyetek szívesek.
Mit jelentenek ezek a matematikai utasítások az asm kódrészletben? xorlw (0x00 ^ 0x0C) xorlw (b'01110100')^(b'01110110') movlw (1<<OUT1 | 1<<OUT2) Köszönöm szépen. Illetve, ha tudtok linket, ahol olvashatok még ilyenekről, azt is megköszönöm. A hozzászólás módosítva: Júl 15, 2014
A '^' jel a kizáró-vagy (XOR) kapcsolat jele, bitenként kell képezni, az eredmény '1', ha nem egyeznek a bitek és '0', ha egyeznek ( pl, 0x00 ^ 0x0C --> 0x0C, a '0x' kezdés a hexa kódra utal, a b' ' a bináris adatra ! ).
Az '1<<OUT1' az 1-et mozgatja az OUT1 helyre, tehát például, ha OUT1=3, akkor az '1<<OUT1' értéke: b'00001000' ! A '|' jel a vagy (OR) kapcsolat jele, szintén bitenkénti művelet! Remélem segítettem !
Huuu kissi, azt nem is tudod milyen sokat! Sajnos a google erre nem dobott semmit...
tehát a movlw (1<<OUT1 | 1<<OUT2) ha OUT1=3 és OUT2=4, akkor a vége a OR művelet után B'00011000' lesz. Azaz movlw B'00011000'. Erre a megoldásra változók miatt van szükség? Ha jól sejtem. Magukat a logikai műveleteket tudom, csak a jelrendszeri jelölést nem ismertem. Illetve ezeket a mozgató jeleket. Mintha a C+-ban lett volna ilyen műveletsor. Hol tudok még ilyen jelölésekről olvasni?
Még egy dolog!
a példában szereplő xorlw (0x00 ^ 0x0C) tulajdonképen egy XOR művelet a W regiszter és a zárójeles értékek között? Ugye?
pl. ebben olvashatsz Bővebben: Link
Nem, a 0x00 és a 0x0C között csinál egy XOR-t ( zárójel! ) és ezt az eredményt másolja a W-be !
Sziasztok!
Szeretnék macrokat használni a programomban, de fogalmam sincs, hogy hol keresi a fordító az #include "file.asm" sor után a file-t, és azt sem tudom, hogy .asm, vagy .inc kiterjesztéssel mentsem a programrészeket? Tehát hova mentsek egy kész macrot? Oda mentettem ahol a mikrovezérlők .inc filejai vannak, de így azt írja a fordító, hogy nem találja a filet... És már belefájdult a fejem a sok keresgélésbe a neten, hogy végül is hova kel menteni, de semmi sincs róla az ég világon. Ha van is, én biztos hogy nem keresem tovább mert belerokkanok. Remélem nagyjából érthető hogy mi a kérdésem. A hozzászólás módosítva: Júl 16, 2014
Azt a verziót próbáltad, hogy projekt könyvtárába mented a fájlt?
Miután a xorlw utasítás egy xor műveletet ír elő a paraméterben megadott kifejezés értékével, így az erebmény az amit írtál.
xorlw (0x00 ^ 0x0C) ---> xorlw 0x0C A xor egy önduális művelet: a^b^b = a Főleg sokirányú elágazáskor célszerű használni:
Ezekre a faxnikra azért van szükség, mert egy adatot egy programban csak egyszer szabad megadni. A bit pozíció a btfss, btfsc utasításokhoz és a maszk értéke az andlw, iorlw, xorlw utasításokhoz eltérő értékű. Érdemes a bit pozíciót megadni és a maszkot ebből számíttatni (1 << bit_pozíció). Ha később módosítáni kell, elegendő csak ezt az értéket módosítani. (Ha több értéket kellene módosítani, néhányat úgyis kifelejtenénk...)
A projekthez hozzáadtad a fájlt?
Melyik MPLab verziót használod?
Próbáltam valami ilyesmit, de akkor nem ment, viszont most megy. Köszi.
Ezek szerint minden egyes projecthez be kell majd másolni a macrokat? Mert az úgy elég gagyi.
Sziasztok!
Szeretnék meg tanulni pichez programot írni ehhez kellene valami gyakorló panel amit magam is meg tudok építeni tudtok javasolni valamit?
Egy Breadboard, némi alkatrész készlet és egy programozó. Több nem kell.
A hozzászólás módosítva: Júl 16, 2014
Értem. Esetleg tudsz javasolni valami cikket vagy nem is tudom hogy nevezik ezeket ami alapján el tudok indulni?
Idézet: Miért kellene? Teheted egy közös használatú mappába, de akkor meg kell adni a relatív elérési utat. „Ezek szerint minden egyes projecthez be kell majd másolni a macrokat?” Például én így használom:
A hozzászólás módosítva: Júl 16, 2014
Ha tudtam volna, hogy meg lehet adni így az elérési utat, vagy legalább eszembe jutott volna megpróbálni, akkor nem tettem volna fel a kérdést.
Szóval ezzel okosabb lettem, köszi a választ!
Ha a példaprogramod veszem, akkor
valtozo ^ertek1 --> W reg-be, majd ertek1^ertek2 esetén jön, amit írtál az önduális műveletről, hogy valtozo^ertek1^ertek1^ertek2 , azaz a művelet valtozo^ertek2. Akkor ha ez így "öröklődik", azt jelenti, hogy egy hosszabb kódrészlet esetében, például a kezdeti 0x00 értéket "viszi tovább sorról-sorra" végülis. Mint itt:
A hozzászólás módosítva: Júl 16, 2014
Szuper, köszi!
Sziasztok, lenne egy olyan kérdésem, hogy van egy PIC18F14K50-es chippem , azt szeretném 5V-ról járatni, az adatlapban benne van, hogy a chipben benne van a 3,2V-os szabájzó, szóval az 5V nem lenne neki gond (bár ez is egy kérdés, hogy fuset kell e állítani, bár én csak olyat találtam, ami kikapcsolja) , de a PICkit2 nem enged többet adni mint 3,3V,így a próbakapcsolásomon lévő többi cucc nem kap eleget, hogy tudom ezt megoldani, hogy a PICkit2 is adjon neki 5V-ot?
ÜdV!
Igen, erre gondoltam.
Idézet: „Akkor ha ez így "öröklődik", azt jelenti, hogy egy hosszabb kódrészlet esetében, például a kezdeti 0x00 értéket "viszi tovább sorról-sorra" végülis.” Ezt nem igazám értem, de az a fő, hogy Te megértetted.
Igen megértettem és köszönöm még egyszer neked is a tanítást!
Itt a cikkek között Topi "nullától a robotokig" című cikkét javaslom kezdésnek, de meggyőződésem, hogy a saját célok megvalósítása hozza a legjobb eredményt.
Esetleg még EZT az oldalt tudom ajánlani, bár a gyakorló panelt nem tartom jó ötletnek, mert ha mondjuk egy pic-en csak egy modult akarsz használni, meg mondjuk A/D-t az tök más lábakon vannak, tehát használhatatlan.
Hát szerintem tanulni első körben elég a 12, vagy a 16 is, a PICKIT 2 legalább alap, szerintem...
Ez egyáltalán nem biztos. Attól függ, hogy honnan indul, és mik a céljai.
Sziasztok!
MPLAB 8.91-et használok XC8 fordítóval, saját header filet hogyan kell írni. Amit én írtam azt a fordító nem veszi figyelembe, hiába adtam hozzá a projekt-hez. Nem találja az elérési utat mégsem? #ifendef__SAJAT_H #define__SAJAT_H // a program dolgai... #endif Itt megakadtam, kérlek segítsetek.
Szervusztok,
működik linuxos MPABX-el a Pickit 3 -as programozó ? Nagyon megszerettem a Fedora linuxot és ha még ez is működne akkor vége a Windoznak. De mielőtt megvenném a Pikit 3- at érdeklődök tölletek . |
Bejelentkezés
Hirdetés |