Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   296 / 1210
(#) n_yálastrubadúr válasza n_yálastrubadúr hozzászólására (») Aug 22, 2012 /
 
Most látom csak a d+ és a d- nem lehet digitális kimenet. Nincs is jegyezve a Trisc regiszterben..
(#) steev hozzászólása Aug 24, 2012 /
 
Sziasztok

A program a memóriában való elhelyezésével van egy kis gondom.
Bootloadert akarok életre kelteni, de nem tudom belőni a programot terület elejére, ami a dspic30f6012a esetében 0x100.
A linkerscriptben hiába módosítom az alábbi sort
program (xr) : ORIGIN = 0x100, LENGTH = (0x3500)

nem a 0x100as címtől kezdi beírni a programot a memóriába, hanem 0x2000-től. Ha az ORIGIN értékét 0x2000 fölé viszem, akkor nem is tud linkelni, ha meg alá akkor mindig 2000-től kezdődik a program kód.
A programozóm pickit2 és debug és program módban is ezt csinálja .

Ez a linker parancs:
Executing: "C:\Program Files\Microchip\mplabc30\v3.25\bin\pic30-gcc.exe" -mcpu=30F6012A "memory.o" "main.o" -o"16-bit Flash Programmer.cof" -Wl,-L"C:\Program Files\Microchip\MPLAB C30\lib",--script="p30f6012A.gld",--defsym=__MPLAB_BUILD=1,--gc-sections,-Map="16-bit Flash Programmer.map",--report-mem,--cref,--warn-section-align


Találkozott már valamelyikőtök ilyennel?
(#) Amarton hozzászólása Aug 26, 2012 /
 
PIC32-ben hogyan működnek a megszakítások?

Akartam csinálni egy egyszerű timer2 megszakítást, ami egy led-et villogtat, de nem akar bemenni a megszakításba.
  1. T2CON = 0x70;                   // Stop timer and clear control register,256 prescale
  2. TMR2 = 0x0;                     // Clear timer register
  3. PR2 = 0xFFFF;                   // Load period register
  4. IPC2SET = 0x0000000C;           // Set priority level = 3
  5. IPC2SET = 0x00000001;           // Set sub-priority level = 1
  6.                                         // Could have also done this in single operation by assigning
  7.                                         // IPC2SET = 0x0000000D
  8. IFS0CLR = 0x00000100;           // Clear timer interrupt status flag
  9. IEC0SET = 0x00000100;           // Enable timer interrupts
  10. T2CONSET = 0x8000;              // Start timer
  11.  
  12. while(1)
  13. {
  14. LATDINV = 1;
  15. }
  16.  
  17. void __ISR(_TIMER_2_VECTOR, ipl3)Timer2Handler(void)
  18. {
  19. LATDINV = 2;
  20. IFS0CLR = 0x00000010; // Be sure to clear the Timer 2 interrupt status
  21. }
(#) Hp41C válasza PLaci hozzászólására (») Aug 26, 2012 /
 
Szia!
Elnézést a kései válaszért.
A devicedata állomány a PICKit2 -t felokosítja, de az MpLab -ot (sajnos) nem. A lefordított hex állományt a PICKit2 V2.61 programmal tudod beprogramozni. Nyomkövetés sajnos nem lehetséges (még). Egy újabb MpLab... Bár már csak az MpLAb X -et fejlesztik, az meg nem kezeli (rendesen) a PICKit2 -t...
(#) steev válasza steev hozzászólására (») Aug 27, 2012 /
 
Megvan a megoldás, ha esetleg valaki belefutna: be kell állítani a CodeGuardban a boot opciókat.
(#) PLaci válasza Hp41C hozzászólására (») Aug 27, 2012 /
 
Szia!
Mi az, hogy elnézést. Én tartozom köszönettel, amiért egyáltalán válaszoltál, és megoldottad a problémát. Sajna csak a jövő hétfőn tudom érdemben kipróbálni, mert csak akkor érek haza. Természetesen beszámolok majd az eredményről, márcsak az archívum kedvéért is. Még egyszer nagyon köszi a választ!
(#) Stefan válasza Amarton hozzászólására (») Aug 27, 2012 /
 
Már a múltkori kérdésed alkalmával eszembe jutott, hogy ezt a titkot meg kéne osztanom veled. Megszakításokhoz: INTEnableSystemMultiVectoredInt();
Igazából gőzöm sincs mit csinál, nem néztem utána, de működik...
(#) Kovabe hozzászólása Aug 27, 2012 /
 
Sziasztok a PIC12F675-ben mekkora orajelet kell állitani hogy megközelitse a belsö idözitö a valost??? Van esetleg olyan weboldal amit tudtok ajánlani PIC kezdönek hogy megértsem mi ez a sok belsö kapcsoló??
(#) mrobi válasza Kovabe hozzászólására (») Aug 27, 2012 /
 
Szia. Melyen órajelet akarsz állítani? 12f675-ben 4MHz-es belső órajele van. Ezt nem tudod állítani. Vagyis van egy úgynevezett OSCCAL regiszter. Ezzel tudod egy kicsit "manipulálni" (nem jutott eszembe jobb szó hirtelen).
(#) Kovabe válasza mrobi hozzászólására (») Aug 27, 2012 /
 
Ok igy már kicsit értem Köszi
(#) gyengus hozzászólása Aug 28, 2012 /
 
Sziasztok!

Figyelmetlen voltam és fordítva kötöttem be az ICSP lábakat. PIC32MX150F128B-ről van szó, rádugtam a PicKit 3-at.
A bekötést javítottam, többször ellenőríztem a vezetékeket (dugdosós próbapanelon van összerakva), 100nF kondik a tápokon, minden táp láb bekötve, Vcap kondi: 10µF tantál.
Az MPLAB továbbra se látja, a hibaüzenet: PK3Err0035: Failed to get Device ID

Kinyírtam a PICet?
(#) mate_x válasza gyengus hozzászólására (») Aug 28, 2012 /
 
Szia!

Mind a kettő VSS lábat bekötötted? Nem túl hosszú a programozó vezeték, amit használtál?

Üdv, mate_x
(#) gyengus válasza mate_x hozzászólására (») Aug 28, 2012 /
 
Igen, be van kötve.
Rövidek a vezetékek.
(#) mate_x válasza gyengus hozzászólására (») Aug 28, 2012 /
 
Akkor nem tudom mi lehet a baj, PIC32-t még nem használtam. PIC18-ra egyszer véletlenül én is fordítva tettem rá a pickit2-t, de annak nem lett semmi baja.
(#) gyengus válasza mate_x hozzászólására (») Aug 28, 2012 /
 
Nekem is ez az első PIC32-m...
Nem tudom, baja lehet-e attól, hogy tápot (+3,3V) kapott a programozó lábaira.
Még azt nem tudom, hogy a 3 pár programozó lábból melyik aktív, még sose volt programozva, tehát a gyári alapbeállítás az érvényes. Adatlapban nem találtam meg, hogy az melyik.
(#) gyengus válasza gyengus hozzászólására (») Aug 28, 2012 /
 
Működik.
Nem volt jól belenyomva a PIC a panelba...
(#) Czindi hozzászólása Aug 28, 2012 /
 
Sziasztok!!

Segítséget szeretnék kérni pic égetéshez, nemrég vásároltam egy pickit2-őt és egy FD-2 kisérleti panelt, PIC16F877A és egy PIC18F452-es pic-et kaptam hozzá. Az a problémám hogy a programozó nem látja a mikrokontrollert, és az MPlab a következő hibaüzenetet írja ki: "PKWarn0003: Unexpected device ID: Please verify that a PIC18F452 is correctly installed in the application. (Expected ID = 0x420, ID Read = 0x0)". A segítséget előre is köszönöm
(#) vilmosd válasza Czindi hozzászólására (») Aug 28, 2012 /
 
Esetleg valami doksi nincs a panelrol? Talan tobbet lehetne mondani a kapcsrajz ismereteben.
(#) nedudgi válasza Czindi hozzászólására (») Aug 28, 2012 /
 
A tápot honnan kapja a panel? Beállítottad, hogy a PICkit adja?
(#) Czindi válasza vilmosd hozzászólására (») Aug 28, 2012 /
 
Igen van!!, küldöm!

fd1.pdf
    
(#) Czindi válasza nedudgi hozzászólására (») Aug 28, 2012 /
 
Szia!

Próbáltam mind a 2 féle képpen is de sehogy sem látta a pic-et, az a bajom hogy egyiket sem ismeri fel. A programozót csak rácsatlakoztatom a gépre és azt felismeri, de már akkor kiírja a hibát pedig csak beállítottam a pic-et hogy milyet használnék, de még nem csatlakoztattam a programozóhoz.
(#) icserny válasza Czindi hozzászólására (») Aug 28, 2012 /
 
A Cs1 csatlakozó lábainak számozása fordított, a PICkit2 jelölt kivezetése a 6-os lábra menjen!

Van ott egy átkötés is (JP1), ami kell a programozáshoz. Az fel van rakva?
(#) guliver83 hozzászólása Aug 28, 2012 /
 
Üdvözlök mindenkit.
Kaptam egy jó pár darab H27U4G8F2DTR-BC - FLASH memóriát, hogy lehetne ezt használni valamire.
Bővebben: Link
(#) Czindi válasza icserny hozzászólására (») Aug 28, 2012 /
 
Szia!

Igen fel van rakva a cs1-re a jumper, most már addig eljutottam hogy megtalálja a pic-et csak nem tudja felprogramozni mert a következőt írja ki: Target Vdd measured at 2,39V which is outside the programmable range of this device (4,50V- 5,50V).
(#) kissi válasza Czindi hozzászólására (») Aug 28, 2012 /
 
Szia!

Tanárként ilyen fejlesztőrendszeren programozunk a diákokkal.
Az ICD programozója nem kapásból a PK2-höz csatlakoztatható ( és icserny kollégának igaza van, fordítva számozták! ), én egy "öcsi" panelt készítettem az ICD2-PK2 átalakításhoz. Sajnos a használat során több PIC is tönkrement már, minden látszólag különösebb ok nélkül ! Kollégákkal beszélgetve megpróbáltam, hogy csak a PK2-ről táplálom ( nem használom hozzá a "gyári" adaptert ) és azóta jól működik!
Ami még hozzátartozik és amiért nem gondoltam egyből a tápra ( itt valami potenciálkülönbség lehet a táp és az USB között, ami a gondot okozta, de teljesen véletlenszerű helyeken és időpontokban történt a hiba! ) az az volt, hogy korábban ugyanezzel a panellel és PIC16F877-el évekig használva nem volt tönkremenetel!

Remélem, hogy Neked még nem ez lesz a problémád, de készülj fel rá!

Még egy hibajelenség: a PK2 USB kábele miatt volt már olyan eset, hogy a PK2-t látta, de a PIC-et már nem tudta égetni --> kábelcsere megoldotta !

Egyébként szerintem egész jól használható panel, bár a panel "flexibilitásában" nekem nem versenyképes a "dugdosós panellel" !

Steve
(#) Mezoas válasza kissi hozzászólására (») Aug 28, 2012 /
 
Magyarul külső táplálás esetén van esély a PIC tönkremenetelére Pickit2-vel?
Ez elég nyugtalanító.
(#) kissi válasza Mezoas hozzászólására (») Aug 29, 2012 /
 
Szia!

A 18-as sorozatnál elég sok "mintát" tudok mutatni ( és nem a tanulók hibájaként keletkeztek! ) :no: !
Idézet:
„Magyarul külső táplálás esetén van esély a PIC tönkremenetelére Pickit2-vel?”

Remélem jól értetted: én mostanában csak a PK2-t használom, nem dugok rá külső tápot ( korábban is a csatlakoztatott 7 szegmenses miatt tettem, de azt is vígan elviszi a 100 mA-s terhelhetőségével! ).

Steve
(#) szabolcsx hozzászólása Aug 29, 2012 /
 
Sziasztok. Az a problémám, hogy float változókat kell beírjak egy 16F877-es PIC eepromjába. Keresgéltem a neten, kaptam is kódokat, csak annyi a gond, hogy ha lefut az a sor ami kiolvassa a float változót, nem tudom mi történik. Ki kellene írja LCD-re, de nem megy. Ha kiveszem azt a két sort, akkor minden működik. Feltöltöm a szükséges forrásfájlokat is.
(#) icserny válasza kissi hozzászólására (») Aug 29, 2012 /
 
Nem az a probléma, hogy a külső táp és a számítógép nincs összeföldelve, s a PICkit2 csatlakoztatásakor "találkoznak össze"?

Régen alapszabály volt, hogy a számítógéphez csak akkor csatlakoztatunk eszközt, ha előtte a számítógépet és az eszközt is kikapcsoltuk. USB-vel ezt már nem szokás figyelembe venni, de akkor a csatlakozásnak is az USB felületen kellene történnie, nem pedig a mindenféle túlfesz védelmet nélkülöző ICSP csatlakozón.
(#) vilmosd válasza szabolcsx hozzászólására (») Aug 29, 2012 /
 
Nekem ez a ket sor gyanus:
  1. eewfloat(0x2000, a);
  2. eewfloat(0x2004, b);
Mert ugye a cim char tipusu, ami (gondolom en) 8 bites. Igaz nem ismerem a HTC C lelkivilagat es beepitett LIB-jeit, de talan meg kellene vizsgalni az adott LIB adattipusait, es a hivo es visszatero adtait.
Amugy siman befert volna a "PIC kezdo" vagy a "PIC halado" topikba ez a kerdes. Nem ertem soha miert kell ujat nyitni.
Következő: »»   296 / 1210
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem