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   246 / 1207
(#) trudnai válasza c27 hozzászólására (») Ápr 26, 2012 /
 
Itt nem besertodni kell, ha nem kapsz azonnal valaszt! Mindenki a sajat idejebol es energiajabol segit masoknak...

Kicsit bovebben kellene leirnod, hogy mi a problema. Milyen PIC-rol van szo, csak MPLAB es szimulator alatt nem kovetkezik be a reset de valojaban igen? Ha igen, akkor a debugger menuben a Settings-ben a WDT-re mi van beallitva? WDT postscaler hogy van beallitva? Jo lenne ha az egesz konfigot bemasolnad, mert igy nehez talalgatni.
(#) vilmosd válasza c27 hozzászólására (») Ápr 26, 2012 /
 
Mondjuk nem tudjuk milyen PIC. Ja es kene ismerni a OPTION reg tartalmat, mert ugye a TMR0 es a WDT osztoja kozos. Jobb lenne a programot latni, es akkor konnyebben lehet talalgatni a hibat illetoen.
(#) n_yálastrubadúr hozzászólása Ápr 27, 2012 /
 
Gondoltam megosztom: ha valaki pic-cel multiplexben hajt kijelzőket, mondjuk közös katódosat, akkor az használjon fetet inkább a kapcsolásra, mert én eddig sima tranzisztort használtam, és gondolom a szaturáció miatt mindig be kellett tennem egy késleltetést a port törlése előtt, hogy látható legyen, azaz legyen fényerő, amit eddig csak sejtettem,hogy miért van. Most látom a sebesség volt az oka hogy halványan egybe folytak a karakterek, most már nem kell semmi, ez jelentősen felgyorsítja a programot. üdv: 'n'
(#) n_yálastrubadúr hozzászólása Ápr 27, 2012 /
 
Segítség!
Megint elkezdtem a veszteglést és megint nem értem mi az oka, most mielőtt beírtam újra is telepítettem az Mplabot! Legutóbb ez megoldotta a problémát. Most nem és folyamatosan rosszul fordít, amit a Pickit2 ezzel a sárga üzenettel honorál. A legutóbb kisegített beállításokat megnéztem és megint jól vannak beállítva, de cseszettül zavar, hogy egyszercsak fogja magát és elkezdi ezt! Csatoltam képeket talán az árulkodó lehet, hogy az output ezt írja ki:Make: The target "E:\n_ALL_0\PICcccc\ttttt\clock_uv.o" is out of date.
(#) Hp41C válasza n_yálastrubadúr hozzászólására (») Ápr 27, 2012 /
 
Szia!

Ha "Debug" módban készül a program, az MpLab hozzá teszi a debugger kiszolgáló programrész. Ha erre nincs szükséged, akkor álklítsd át "Release" módra...
(#) n_yálastrubadúr válasza Hp41C hozzászólására (») Ápr 27, 2012 /
 
Ez sajnos nem segített, hogy Relase módban újraindítások után sem. A Pickit2-t is újratelepítettem, az Mplabot is több verziót is próbáltam. Ezenkívül mindig telepítések előtt töröltem az előző konfigurációs beállításait, amit ugye az uninstall nem szed ki. De ugyanaz a hiba.
(#) n_yálastrubadúr válasza n_yálastrubadúr hozzászólására (») Ápr 27, 2012 /
 
Ez most nagyon felmérgelt. Tegnap 8-ig fejlesztettem majd vettem észre, hogy valami nem jó, mert az nem lehetett programhiba. Akkor még az Mplabbal írtam. A sokadik után néztem a Pickit2-ben és akkor vált világossá, hogy nyilván ez a baja, DE MI??
(#) trudnai válasza n_yálastrubadúr hozzászólására (») Ápr 27, 2012 /
 
Probaltad mar, hogy a Project menuben elobb egy Clear-t csinalsz?
(#) Hp41C válasza Hp41C hozzászólására (») Ápr 27, 2012 /
 
A 887_1.jpg képen azért van a sárga figyelmeztetés, mert a hex állomány olyan címeken is tartalmaz adatot, ami nincs kiépítve a kontrollerben. A többi képen a _DEBUG szimbólum definiáltságára figyelmeztető üzenetek vannak. Csak azt tudom leképzelni, hogy a debugger programrészlete miatt lett nagyobb a kód, mint ami beférne a tárba. Persze az is lehet, hogy nem a 16F887 -re "Release" módban fordított hex -et töltöd be / tölti be automatikusan a PICKit2 program.
(#) n_yálastrubadúr válasza trudnai hozzászólására (») Ápr 27, 2012 /
 
Igen próbáltam. Ráadásul most egy másik gépen is fenn van az Mplab 8.84 és ott fordítottam le friss telepítéssel és UGYANAZ!
(#) nedudgi válasza n_yálastrubadúr hozzászólására (») Ápr 27, 2012 /
 
Az "out of date csak" annyit jelent, hogy újra kell fordítani a programot. Ez miről árulkodik?
Csinálj a szerkesztéskor .map fájlt. Azt bogarászva csak kiderül, hogy mi és hova esik. Esetleg vedd ki a pipát a supress .COD generation elől.
(#) Hp41C válasza n_yálastrubadúr hozzászólására (») Ápr 27, 2012 /
 
-Mplab: Hozz létre egy teljesen új projectet a 8.84 -gyel a fordításhoz és azzal fordíts Release módban.

-PICKit2: Ellenőrizd le, hogy le van tiltva a hex állomány indítás utáni automatikus betöltése. A fordítás után magad válaszd ki azt a hex -et, amit az MpLab fordított.

Ha a fentiek nem segítenek, akkor megtörténhet, hogy a PICKit2 nyomógombjához rendeltél hex betöltési funkciót. A gomb megnyomására valami más hex -et tölt be. A nyomógomb nem zárt állandóan? Ekkor azonban az USB csatlakoztatásakor a firmware frissítés módba kellene menjen a PICKit2.
(#) n_yálastrubadúr válasza nedudgi hozzászólására (») Ápr 27, 2012 /
 
Próbálkoztam azzal is, még mindig megvan a sárga hiba üzenet. lövésem sincs mi lehet.
(#) n_yálastrubadúr válasza Hp41C hozzászólására (») Ápr 27, 2012 /
 
Nem rendeltem a gombhoz semmit, nem indul el frissítési módban. Ellenőriztem a Logic Tool- al is ami megszakítja a capture módját ha nincs jel és megnyomom a gombot. Korábban írt 887-es program hex file-ja az hiba üzenet nélkül bejön. Most megcsinálom amit írtál de a fentiek mellett hát .. remélem.
(#) n_yálastrubadúr válasza n_yálastrubadúr hozzászólására (») Ápr 27, 2012 /
 
Megcsináltam. A kép ha segít.
(#) Hp41C válasza n_yálastrubadúr hozzászólására (») Ápr 27, 2012 /
 
Szia!

A error.jpg -n az látszik, hogy a E:\ ... \ttttt\error.o az object állomány, de a D:\Picproj\error.cof -ot tölti be a linker. Nem az E:\ ... \ttttt\error.cof lesz az, amit a assembler fordít?

Egy hasonló programnak igewn rövid a hex állománya:
(#) n_yálastrubadúr hozzászólása Ápr 27, 2012 /
 
A tiéd az nem sír. Valószínűleg értem a problémát. De akkor mit kellene át állítani vagy beállítani?
Az mcp-betöltöm akkor nekem már megint rosszul fordít, de a hex az jó.

err_Hp41C.JPG
    
(#) Hp41C válasza n_yálastrubadúr hozzászólására (») Ápr 27, 2012 /
 
Rövidebb elérési utak?
(#) trudnai válasza n_yálastrubadúr hozzászólására (») Ápr 27, 2012 /
 
1. Errol az egyszeru programrol csinalj egy disassemby-t az MPLAB-bal es attacheld, hatha latunk valami erdekeset

2. MAP file-t is attacheld, hatha latunk valamit

3. Ellenorizd a Toolsuit-ben, hogy milyen konyvtarak vannak beallitva

4. Ellenorizd a Project Settingsben, hogy milyen konyvtarak vannak beallitva

5. COF file-hoz ne hasznalj 67 karakternel hosszabb eleresi utvonalakat (tehat a Project konyvtarad pl E:\Projects\Errors\ legyen, ne egy hosszu path)

6. Probd ki ujabb vagy akar regebbi MPLAB-bal
(#) n_yálastrubadúr válasza trudnai hozzászólására (») Ápr 27, 2012 /
 
Ellenőriztem a mappákat, nem tudom mi az hogy attachelni. Csatolom amit behoz a Pickit2-be.

vc.txt
    
(#) pjg válasza n_yálastrubadúr hozzászólására (») Ápr 27, 2012 /
 
attach = csatolás
(#) n_yálastrubadúr hozzászólása Ápr 27, 2012 /
 
Csatoltam a fájlokat
(#) potyo válasza n_yálastrubadúr hozzászólására (») Ápr 27, 2012 /
 
Valami nem volt egészen rendben vagy az áramköröddel, vagy a programoddal. Ha úgy csinálod, hogy a kijelző frissítése előtt kikapcsolod az aktuális digitet, kiírod a szegmensvezetékekre a következő digithez való értéket, majd csak ezután kapcsolod be a következő digitet, akkor valamit nagyon el kell méretezni ahhoz, hogy a kijelzőn egybefolyjanak a karakterek. Egyébként a tranzisztorokat lehet használni emitterkövetőként (közös kollektoros alapkapcsolás), akkor a tranzisztorok telítődésének problémája automatikusan megszűnik, valamint a bázisellenállásokat is ezzel megspórolod. Persze nem mondom, hogy nem lehet ez, de néhány kHz frissítési sebességig a szokásos BC546 és társai tranzisztorok bőven megfelelő sebességűek.
(#) c27 válasza trudnai hozzászólására (») Ápr 27, 2012 /
 
A valóságban nem próbáltam ki hogy működik e jelenleg nem volt megoldható. Csak az MPlabban szimuláltam ott nem következett be semmi. A debugger settingsbe WDT-be break and warning van beállítva de se szünet se figyelmeztetés nincs 18 ms a beállított érték.
A konfig:

BCFSTATUS,RP0
CLRFTMR0
BSFSTATUS,RP0
CLRWDT
MOVLWB'11111000'
MOVWFOPTION_REG
BCFSTATUS,RP0

CLRWDT nincs magában a programban így rezetelnie kellene. (Maximum kipróbálhatom egy sima villogós programban is de szerintem akkor sem fog működni vagy valami nincs beállítva vagy valami kihagytam, de leírások alapján úgy láttam ezek után működnie kell. Az Mplabba be van kapcsolva a wdt így tanácstalan vagyok.)
(#) n_yálastrubadúr válasza potyo hozzászólására (») Ápr 27, 2012 /
 
Rendben. Most ez annyira nemfontos mert program az megy és Mplaban alkalmazott Pickit2-vel megy mind a 8 digit. de már a nem is tudom hanyadik verziószámú Mplab sem oldotta meg a problémát a sárga Pickit2- s probléma az eszköz méretére ugyanúgy megvan-!!!
(#) icserny válasza c27 hozzászólására (») Ápr 27, 2012 /
 
Az alábbi programmal nálam működik a Watchdog (PIC18F14K50). Ha a DEBUG opcióknál 1 MHz-et hazudok, akkor 1000 utasításciklus után bekövetkezik a Watchdog timeout. Ott le is állt a szimuláció, nem foglalkoztam vele, hogy mit lehet kezdeni vele...
  1. #include "p18cxxx.h"
  2. #pragma config CPUDIV   = NOCLKDIV  // Nem osztjuk le az órajelet (48 MHz)  
  3. #pragma config USBDIV   = OFF       // USB-hez nem osztjuk le az órajelet
  4. #pragma config FOSC     = HS        // HS oszcillátor (12 MHz)
  5. #pragma config PLLEN    = ON        // 4x PLL engedélyezés (4x12 = 48 MHz)
  6. #pragma config PCLKEN   = ON        // Elsődleges órajelgenerátor engedélyezve
  7. #pragma config FCMEN    = OFF       // Fail Safe Clock Monitor tiltása
  8. #pragma config IESO     = OFF       // Belső/külső oszcillátor átkapcsolás tiltása
  9. #pragma config PWRTEN   = ON        // Bekapcsoláskor 62 ms várakozás
  10. #pragma config BOREN    = SBORDIS   // Brown-out Reset hardveresen engedélyezve
  11. #pragma config BORV     = 27        // Reset szint = 2,7 V
  12. #pragma config WDTEN    = ON        // Watchdog timer engedélyezve
  13. #pragma config WDTPS    = 1         // Watchdog utószámláló beállítása
  14. #pragma config MCLRE    = OFF       // MCLR (reset) bemenet letiltva, RA3 bemenet
  15. #pragma config HFOFST   = ON        // Rendszer óra nem vár HFINTOSC-ra
  16. #pragma config STVREN   = ON        // A verem túlcsordulása RESET-et okoz
  17. #pragma config LVP      = OFF       // Alacsonyfeszültségű programozás letiltva
  18. #pragma config XINST    = OFF       // Extended Instruction Set
  19.  
  20. unsigned int n, dig, count=0;
  21. unsigned int pBIN=9999, pBCD=0;
  22.  
  23. void main() {      
  24.   ANSEL=0;
  25.   ANSELH=0;
  26.   TRISC = 0;
  27.   TRISB = 0;
  28.   LATC = 0;
  29.   LATBbits.LATB7 = !LATBbits.LATB7;
  30.   while(1) {
  31.     LATC++;
  32.   }
  33. }
(#) c27 válasza icserny hozzászólására (») Ápr 27, 2012 /
 
Nekem 876-hoz kellene a 16f sorozatból 20Mhz a beállított órajel. Igaz én asm-ben írtam a progit de nem működik
(#) trudnai válasza c27 hozzászólására (») Ápr 27, 2012 /
 
Ez nem konfig, ez egy program -- inicializacionak nez ki, de ez nem a konfiguracio!

Annak valami ilyesminek kellene lennie:

  1. __CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _HS_OSC & _WRT_ENABLE_ON & _LVP_OFF& _DEBUG_ON & _CPD_OFF
(#) c27 válasza trudnai hozzászólására (») Ápr 27, 2012 /
 
Az én konfigom ilyen:

__CONFIG _HS_OSC&_CP_OFF&_WDT_ON&_LVP_OFF
(#) Hp41C válasza c27 hozzászólására (») Ápr 27, 2012 /
 
Szia!
Van rá egy konfiguráló ablak az MpLab SIM beállításai között:

MpSim_Wdt.JPG
    
Következő: »»   246 / 1207
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