Fórum témák
» Több friss téma |
Magatol nem kuld, csak 'felszolitasra'.
Adatlap tanulmanyozasat javaslom.
Törlés utáni visszaellenőrzésre peddig ezt.
Szia!
Van a programban egy kis hiba a védelem kezelésnél. Töröld ki a kontrollert (Erase). Csatlakoztasd le. Indítsd újra a programot. Csatlkoztasd a kontroller, olvasd ki. Ekkor már jónak kell lennie. Vdd 5V -ra volt állítva?
Sajnos ezt is akárhányszor végzem el, mindig u.a. Ezt a kontrollert még a tait féle égetőmmel írtam, akkor kezdett instabillá válni hol megírta hol nem, hol fel sem ismerte stb. Aztán amikor már észrevettem hogy írásnál melegszik többet nem foglalkoztam vele, csak gondoltam rehabilitálódott, de akkor ezek szerint ami benne van az benne is marad, hacsak kalapáccsal ki nem törlöm.?
Nemtudom az mondd e még valamit hogy 1028h tól 0-át olvas a végéig.
-Amúgy egy 887-el ami egyébként jó, azzal ez bejött amit mondtál.
Szia!
Köszönöm a tanácsot. Olvasgattam róluk, hogy hibáznak sokszor, de én nem szeretnék komolyan bele kezdeni a PIC-be. Tudom, hogy sok érdekességet lehet vele építeni, csak nekem nem éri meg venni egy PICKITet azért, hogy 1-2 mikrovezérlőt égessek vele.
Ha úgy sem akarsz komolyabban foglalkozni vele, akkor pláne nem érdemes egy megbízhatatlan jószággal vacakolni. Van sok más mikrovezérlő, amit programozóval együtt igeny nyomott áron (nyilvánvalóan beetetési célzattal) árulnak. Vagy próbálj beszerezni egy olyan mikrovezérlőt, ami bootloaderrel már fel van programozva, s akkor csak a soros (vagy USB) kommunikációt kel biztosítani neki. Persze, ennek is csak akkor van értelme, ha tanulni akarsz vele/rajta.
Hát sikerült le beszélnetek róla, veszek egy PICKI2-t. Egyszer kell meg venni és tuti, hogy működik. Ki tudja, talán még meg is tetszik. Egész este olvasgattam róla, nem egyszerű, de 19évesen még van időm meg tanulni! Köszönöm a válaszokat!
mhatalyak
Volt itthon hozzá alkatrész, összedobtam és működik, amit linkeltem. Harmadszorra sikerült írni!
Itt talalsz 18, 20, 28 es 40 labas joszagokhoz. A 20 labas jo a 12Fxxx 8 labas, es a 16Fxxx 14 labasokhoz is.
Üdv.
Köszönöm a segítségeket, melyekkel sikerült a PCF8583 I2C ditális óra adataihoz hozzáférni, azokat megjeleníteni. A PICCOLO projekt keretében, annak függvényeinek felhasználásával és egyenlőre USB CDC kapcsolaton PC-re küldeni (VB6 progival feldolgozva) az óra és naptári adatokat. Legalább tanulmányoztam a BCD kódolást-dekódolást. Azt nem mondom hogy mindent értek, de legalább tudom nagyjából miről van szó. Órába az adatok beírását, módosítását és az alarm regiszterek kezelését kell még megismernem, de úgy vélem ezek már nem megoldhatatlanok számomra.
Sziasztok! Megint EEPROM gondom lenne... Ezúttal egy 16F84A proci nem akarja az igazat, a datasheetben van egy programrészlet, ahol az EEPROM írást-olvasást mutatják be, de nekem nem hajlandó működni a dolog... A programrészletben a W regisztert írják be az EEPROM-ba, én is ezt szeretném, de az MPLAB arra hivatkozik, hogy a regiszterek nincsenek előre definiálva... Csatoltam a datasheet-et...
Inkább a kódodat csatold. Adatlapot esetleg csak linkeld a microchiptől, de az se olyan életbevágó, mindenki pillanatok alatt megtalálja a típusjelzés alapján.
A kódom egy az egyben ugyanaz, mint a datasheetben levő példa, mindárt előkeresem a sok asm közül :pirul: Amúgy az egész progi annyit csinál, hogy beolvassa az AD-t, az értéket egy-az egyben kiküldi a B portra binárisan, a porton levő 8 LED működik is, ahogy tekergetem a potit, változik a "kijelzés, de mikor a programozóval beolvasom a proci EEPROM-ját, akkor totál üres...
nna kiollóztam a részletet a programból, egy az egyben az, mint a datasheetben, az ADC nevű változó saját definíció, az tulajdonképpen az A/D konverzió eredménye, ha azt mondom neki, hogy:
MOVF ADC,PORTB akkor minden gond nélkül "kiteszi" az értéket a B portra, de az EEPROM-ba nem hajlandó beírni...
Szoval nem jo az ollod, mert nem jol ollozott. Az adatlapban szepen le van irva, hogyan lehet irni az EEPROM-ba. De a Te programod nem egeszen ugyanaz. Eloszoris a MOVLW ADC sor az ADC cimet teszi be a W regiszterbe. Ugy kellene csinalni, hogy a beirando adatot be kell tolteni a EEDATA regiszterbe, a cimet berakni a EEADR regiszterbe, majd eljatszani a varazskodot. Utana mar ott is van az adat az EEPROM megfelelo cimen.
Hali!
A segítségeteket szeretném kérni a PIC-ekkel kapcsolatban. Az elmúlt fél-egy évben AVR-eket programozgattam és már elég jól értem őket ahhoz, hogy bele vágjam a fejszém a PIC-ekbe. Viszont igazából semmit nem tudok róluk azon kívül, hogy más az architektúrájuk. AVR-ek esetén már könnyen összedobtam volna egy panelt, PIC esetében viszont első -barátkozásra- valami kész panelt szeretnék. Annyit tudok, hogy a Pickit 2/3-mal lehet őket programozni. Viszont nem tudom, hogy van-e különbség köztük és ha igen akkor mi. Azt sem értem, hogy mely szoftverrel lehet programot írni/letölteni a PIC-be. Hallottam az MPLAB-ról, viszont erről sem tudom, hogy fizetős, vagy ingyenes, mint AVR-nél pl az AVR Studio. Továbbá szükségem lenne egy kezdő panelra is, ami legalább a chip-et a programozóhoz köti és egy raszteres NYÁK-on lehetőség van LED_ek és nyomógombok beforrasztására. A ChipCad oldalán keresgéltem ilyen után. Az első, ami nagyon szembe ötlött az a PICkit 2 Starter, viszont az nincs raktáron. A másik pedig a PICKit 2 Debug Express, amihez, amennyire tudom, szintén jár egy alap panel amin található egy chip, és lábainak kivezetése, de a chip SMD tokozású, vagyis nem lehet kicserélni. Ti melyiket javasolnátok?!?! Mi a különbség a kettő között? Vagy lehet máshol is max 15.000 körül kapni kezdő panelt + programozót? Bocsi ha kicsit soknak tűnik a kérdés áradat, de a lehetőségekhez képest magabiztosan szeretnék elindulni a PIC programozás terén. :S
Köszi, ez elég komplex megoldás a panel problémára
Viszont egyetlen dolog még mindig nem világos. PICKit 2 avagy 3???? Angol weboldalakon, youtube videókban azt írják/mondják, hogy mindenképp PICKit 3-at kell venni, hiszen előbb-utóbb a PICKit2 hazsnálatatlan lesz az újabb chipek megjelenésével. Mi ennek az alapja?!?! Csak pénzügyi fogás, hogy a 3-as terjedjen el vagy néhány éven belül valóban teljesen elavulttá válhat a 2-es?!?! Ti mit használtok!?!? Vagy megéri megvenni a 2-eset és majd idővel úgy is megjelenik egy "tökéletes" PICKit 3-as klón amit érdemesebb megépíteni?!?! Szummázva tehát: Ti mit javasolnátok?
Nekem mindkettő van.
A Pickit2 egyetlen hátránya, hogy a Microchip abbahagyta a támogatását, a legújabb (tehát költséghatékonyabb) kontrollerek nem, vagy pedig körülményesen programozhatók vele... Viszont: A Pickit2 szoftvercsomagja tartalmaz egy négycsatornás logikai analizátort, és egy soros porti adaptert. Kezelő szoftvere szerintem kifinomultabb. A Pickit3 használata esetén előnyösebb a saját táppal rendelkező panelek használata. A Microchip fórumon olvastam egy kicsit túlzó megfogalmazást a kettő közti különbségről: A PK2 és PK3 között az a különbség, hogy az első működik. Mindenesetre elgondolkodtató hogy a Pickit3 először nekiesik a kontrollernek, utána közli, hogy nem találja. Ezután van csak lehetőséged arra, hogy beállítsad, a Pickit3 biztosítsa a tápot a kontrollernek. Ezt a beállítást nem hajlandó megjegyezni.
Ahha, tehát akkor tulajdonképpen a PICKit3 nem is tartalmaz logikai analizátort, és soros porti adaptert?!?! Mert mind kettő nagyon jól jönne ha lenne, és így tul.képpen ki is zárhatnám a PICKit3-asat....
Ha abból indulok ki, hogy AVR-ekkel is csak Atmega 16 és 128-at használok, és ezek is bőven elegek akármi megoldására, akkor lehet, hogy nem is akkora tragédia ha nem tudom az egész palettát programozni... .
Félreérted. A szoftvercsomagja teszi alkalmassá ezere a feladatokra.
Fel kell mérni a palettát, és a támogatott kontrollerek alapján válasz. Később aránylag könnyen építhetsz PK2 klónt, a Pickit3 már nehezebb ügy.
PIC16Fxxx program memóriájában szeretnék adatokat elhelyezni. Ehhez a DT direktívát használnék (tudom a DT RETLW -t csinál). Táblázat a page 3 -on (0x1800 - 0x1FFF) lenne. A táblázat olvasását a page0 ról hívogatnám.
Találtam erre többféle példa kódot, amiket részben értek, de mégis kis segítségre szorulnék: 1. Már ott elakadtam amikor lapváltás nélkül megy a table hívása
Mi garantálja, hogy az addwf nem csinál túlcsordulást PCL ben, és a program nem onnan fut, ahonnan egyébként futna? Másik kérdés az alábbi példaprogram alapján:
Itt már a 3. sorban PCLATH megkapta a Table High címét (0x03), de honnan tudja az alsó címét? Ezt mi alapján tudja megszerezni? Harmadik dolog pedig az alábbi példaprogram, amit nem tudom milyen környezetben lenne célszerű használni:
Az addig rendben van, hogy az offset új értéke el van tolva a Table low címével. De a
rész el tudná valaki magyarázni?
Egy kicsit elemeztem a fenti kérdésemet MPLAB -al (a középsőt).
Alábbiakra jutottam: Először előtöltjük a Table magas címét 0x03. Az offsetet W -be tesszük, de ekkor még PC értékére nincs hatással az előtöltés. Majd meghívjuk a call -al a Table -t. A call 11 bites címmel rendelkezik. A call hatására ez kiegészül a PCLATH 3-4 bitjével. A PCLATH ban azonban ott van már a teljes felső cím is, de abból csak az említett 2 bit lesz érdekes, a 11 (3+8) bitben úgyis ott van a maradék 3. A call hívás hatására PCLATH regiszter tartalma a PCH-ba kerül, így eljutunk a 0x320 címre. Aztán jön a korábbi kérdésként is feltett probléma. Mi van ha túlcsordulás történik a összeadás során? (pl offset d'240' lenne?)
Szia!
Az ADDWF PCL.F utasítás hatására csak a PCL változik, tehát pl. PC=0x320, W=d'240' --> 0x410 helyett 0x310 lesz a PC tartalma, tehát a táblád "elé" ugrik ( ott bármi történhet ! ) ! A tábla kezdetét ezért tesszük lapkezdetre és az elemek száma ezért korlátos a 16F-nél! Szimuláld le! Steve
Nem csak a 16F -nél... A 18F -eknél még rosszabb a helyzet. Az utasítások minimum 2 byte -ot foglalnak, az addwf PCL,f itt is csak az alsó 8 bitet módosítja. Ebből következik, hogy a maximális méret (az átvitel kezelése nélkül) 128 tétel., és még ügyelnünk kell arra is, hogy az egyes elemekhez tartozó utasítások azonos helyfoglalásúak legyenek.
Ellenben az átvitel kezelhető, nem kell tőle annyira félni: Bővebben: Cikk Egy kis segítség a 18F -eken: A movf PCL,w feltölti a PC -nek megfelelő értékkel a PCLATU és PCLATH regisztereket (egy addwf PCL,f viszont nem).
Sziasztok!
A kérdésem a következő lenne, van egy 5V-os Szilva féle Klón, és egy 16f88 as Pic. Egy digitális forrasztó állomás hex file, szerettem volna bele égetni, de hibára ált ki. -Pickit2 Klone: vdd - 4,73V vpp -12,20V Az építés leírása szerint mindent végig csináltam, első indításra felismerte a gép(pic18f2550-et elsőre felprogramozza hiba nélkül.3x újra programoztam és csak ez a 2 Pic van itthon). De a 16f88 nem akarja. Általában a 2-es képen lévő hiba a jellemző. Törlés után is ugyan ezek a hiba üzenetek és a ("VPP First Program Entry") re sem reagál. Csatoltam képeket, a hiba üzentekről. Segítségeteket előre is nagyon szépen köszönöm!
Sziasztok!
Van egy PIC16F628A -s Picem, és az a kérdésem, hogy ennek van-e belső oscillátora, és ha igen, akkor CCS -ben hogy tudom ezt beállítani? Köszönöm!!!
Szia!
A PGM (a 9.) láb be van kötve a PICKit2 6. kivezetésére? A PGM lábat a programozás alatt alacsony szinten kell tartani. A programban a konfigurációs szóban a LVP módot ki kellene kapcsolni: 0x3F6A helyett 0x3FEA kellene.
Miért kell odakďtni?
Valamint melyik opció kell a konfigba? HS_OSC, XT_OSC, vagy valami harmadik? |
Bejelentkezés
Hirdetés |