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   1027 / 1210
(#) Bakman válasza frekivalto hozzászólására (») Márc 30, 2018 /
 
  1. FCV_OW_CRC=CRCTABLE[FCV_HANGERO];
(#) frekivalto válasza kissi hozzászólására (») Márc 30, 2018 /
 
Kipróbáltam, nem lett jó, szintén hibát dobott!

Bakman kolléga javaslatára ez lett a jó megoldás:
FCV_OW_CRC=CRCTABLE[FCV_HANGERO];

Köszönöm Neked is, hogy foglalkoztál ezzel a problémával.
(#) dkarcsi73 hozzászólása Ápr 1, 2018 /
 
Sziasztok,
adott egy konstans létrehozása ami így nézki:
FLAGS equ 0x5D
létrehoztam egy FLAGS elnevezésű állandót aminek értéket is adtam : 0x5D (dec 93)
ezután a parancs után ha kiadom a CLRF FLAG parancsot , mi fog történni
ez egy gyári programrészletben van amit nem értek.
A constans nullázható?
(#) kissi válasza dkarcsi73 hozzászólására (») Ápr 1, 2018 / 1
 
Szia!
Nem jól értelmezed ! A
Idézet:
„FLAGS equ 0x5D”
azt jelenti a fordítónak, hogy a FLAGS ezentúl 0x5D-t ér, így ha ki adsz egy olyan parancsot, hogy CLRF FLAGS, akkor az a 0x5D cella tartalmát fogja törölni ( persze lehet, hogy vannak BANK módosító bitek!) !
(#) dkarcsi73 válasza kissi hozzászólására (») Ápr 1, 2018 /
 
Köszönöm
(#) Hp41C válasza dkarcsi73 hozzászólására (») Ápr 1, 2018 / 1
 
Használd inkább a helyfoglaló direktívákat...
  1. CBLOCK 0x5d
  2. FLAGS:
  3.  endc

Persze az összes változót, ami egy területen van, létrehozható egy ilyen egységgel:
  1. CBLOCK 0x20
  2. valami: .61  ; változók összesen decimális 61 RAM rekesz helyigénnyel
  3. FLAGS:
  4.  endc
(#) freddyke hozzászólása Ápr 2, 2018 /
 
PIC24FV16KM204-nél van minimum Vdd elvárás EEPROM íráshoz? Az adatlap "Electrical Characteristics" fejezete 3.6V Vmin-t tüntet fel olvasáshoz (Vdd for Read). Íráshoz nincs hasonló bejegyzés.

Tápkimaradásnál szeretnék írni az EEPROM-ba. Rosszabb esetben 3.6-4V lenne a pufferkondiban az EEPROM írás befejeződésekor.
(#) Hp41C válasza freddyke hozzászólására (») Ápr 3, 2018 / 1
 
A programozási leírása alapján 2.0 és 5.5V közötti tápfeszültséggel programozható, a Bulk Erase parancshoz minimum 2.5V szükséges.
(#) freddyke válasza Hp41C hozzászólására (») Ápr 3, 2018 /
 
Nem számítottam rá, hogy a flash memória programozási leírásában kellene keresni az EEPROM működés közbeni programozási feszültségeit.

Furcsállom, hogy a PIC24FV16KM204 family kézikönyvében a 276. oldalon Vdd for Read Vmin=3.6V. Olvasáshoz kell egy minimum, íráshoz nem?

A normál tápellátás-frekvencia viszonyában is eléggé zavaros a dokumentáció. A 17. oldal szerint 2-5.5V 32MHz. A 266-267. oldalakon a feszültség-frekvencia grafikonok alapján az industrial 5V-os 32MHz-en 3.2V-tól felfelé táplálható, az extended (ez van nekem) 24MHz-en 3.2V-tól. Ezek alapján nem megy 32MHz-en az extended?
(#) Hp41C válasza freddyke hozzászólására (») Ápr 3, 2018 /
 
Szerintem a 3.6V a maximum. Ezt aztán meg senki sem érti, hiszen a 24FV sorozatnak 5.5V a maximális megengedett tápfeszültsége.
(#) freddyke válasza Hp41C hozzászólására (») Ápr 3, 2018 /
 
Ebben is igazad van, de abszolút nem logikus. Az F-nek 3.6V az üzemszerűen megengedett legnagyobb tápfeszültsége. Szerintem erre vonatkozik az adat, csak nem írták ki. (Az FV-nek 5.5V.)

Nekem ebből úgy tűnik, hogy az íráshoz is elegendő a legminimálisabb tápfeszültség.

Tápellátás frekvencia viszonya:

FV - I (Industrial):
For frequencies between 8 MHz and 32 MHz, FMAX = 20 MHz * (VDD – 2.0) + 8 MHz.

FV - E (Extended):
For frequencies between 8 MHz and 24 MHz, FMAX = 13.33 MHz * (VDD – 2.0) + 8 MHz.

Az E verzió Vdd=3.8V-al elvileg mehetne 32MHz-en a képlet szerint, de nekem ebből úgy tűnik 24MHz az elérhető maximum.
A hozzászólás módosítva: Ápr 3, 2018
(#) Hp41C válasza freddyke hozzászólására (») Ápr 3, 2018 /
 
Egy világcég ha már be tudta vezetni a Vmin -t, akkor csak sikerült volna a Vmax is.
Nagyfokú trehányság nyoma ez.
A hozzászólás módosítva: Ápr 3, 2018
(#) don_peter hozzászólása Ápr 8, 2018 /
 
Srácok, gondolom ez már egy régi probléma és biztosan volt már róla szó, de nem találom a topik-ban. PIC16F684-et szeretnék éleszteni, de az MPLAB mindig a következőre hivatkozik:
Idézet:
„PK2Error0028: Unable to enter debug mode”

Esetleg nem támogatott ez a kontroller PicKit2 esetében?
(#) Hp41C válasza don_peter hozzászólására (») Ápr 8, 2018 / 1
 
Debug header board. AC162055 Bővebben: Link
(#) don_peter válasza Hp41C hozzászólására (») Ápr 8, 2018 /
 
Külön adapter kell hozzá, hogy lehessen debugolni? Kész..
(#) Hp41C válasza don_peter hozzászólására (») Ápr 8, 2018 /
 
Külön PIC (PIC16F684-ICD), hogy a nyomkövetés ne kössön le lábat.
(#) don_peter válasza Hp41C hozzászólására (») Ápr 8, 2018 /
 
Köszi, akkor hagyom.
Majd kiméregetem, hogy mit szúrtam el, ennyit nem ér a dolog..
(#) usane válasza don_peter hozzászólására (») Ápr 9, 2018 /
 
Nem is értem mit vártál egy 16F684-től. Maximum az enhanched midrangben számíts debugolási lehetőségre a 8 biteseknél header nélkül.
(#) Hp41C válasza usane hozzászólására (») Ápr 9, 2018 /
 
(#) usane válasza Hp41C hozzászólására (») Ápr 9, 2018 /
 
Rendben, nem fűztem hozzá, hogy az újabb szériákban is lehet, mint csatoltad is, (F1X és F7x), de számomra ez nem is kérdés. Mindenesetre köszönjük a kiegészítést.
(#) Pali79 hozzászólása Ápr 10, 2018 /
 
Sziasztok!
Fordulatszám mérőt készítenék és egy kicsit belegabalyodtam a bitekbe. Az elképzelés az lenne, hogy CCPx bemeneten érkeznének a jeladótól az impulzusok, fordulatonként 1 db. Az impulzus hatására mentődik a Timer1 értéke, ebből számolok, ez idáig rendben is lenne. De mi van akkor ha a két impulzus között a Timer1 túlcsordul? És nem azért mert olyan sokáig nem jött impulzus, hanem mert mondjuk az egyiket akkor kapta, amikor már elérte a csúcsértéket? Hogyan lehet ezt normálisan kezelni? Impulzus után töröljem a számlálókat? Mivel ez egy pici időbe telik, így ez már pontatlanságot visz a dologba. Vagy ennyinek bele kell férnie?
(#) freddyke válasza Pali79 hozzászólására (») Ápr 10, 2018 /
 
Én is szeretnék hasonló dolgot csináltatni (egy nagy feladat kis részeként) PIC24F-el. Úgy emlékszem a timer léptetési ideje beállítható (az órajel leosztásával), illetve nálam volt nagyobb bitszélességű timer választási lehetőség is (ha a kisebb nem lenne elég). A timert a hardver kezeli elvileg automatikusan, nem kell törölni. Emlékezetből írom, tévedhetek.

Ha megadnád a PIC típusát és a fordulattartományt, talán segítene, hogy pontosabb választ kapj.
(#) kissi válasza Pali79 hozzászólására (») Ápr 10, 2018 /
 
Szia!

A Capture funkciót használod, így nem kell törölnöd. Bejön az impulzus, elmented TMR1_start-ot, majd TMR1_stop-ot. Ezután előjelesen számolod a periódusidőt T = TMR1_stop - TMR1_start, ha pozitív, akkor semmi, ha negatív, akkor közben túlcsordult, így a helyes eredményhez kompenzálnod kell a túlcsordulási idővel ( hozzá kell adnod 65536-ot ! ) ! Az előjeles műveletet persze megoldhatod másképp is !
(#) ktamas66 válasza Pali79 hozzászólására (») Ápr 10, 2018 /
 
Ha csak egyszer fordul át, nem kell vele törődni, a kivonás helyes értéket ad. Ha többször is túlcsordulhat azt már figyelni kell pl. egy TMR megszakításban, de itt már más problémák is előjöhetnek.
(#) don_peter válasza usane hozzászólására (») Ápr 10, 2018 /
 
Mondjuk, hogy lessen debugolni, alapból? Nagy elvárás lett volna tudom én is.
(#) Lamprologus válasza ktamas66 hozzászólására (») Ápr 10, 2018 /
 
Idézet:
„Ha csak egyszer fordul át, nem kell vele törődni, a kivonás helyes értéket ad.”

Tegyük fel az induló érték 10, átfordul a számláló, a következő érték 12, hát szerintem nem mindegy, hogy átfordult vagy sem!
(#) kissi válasza Lamprologus hozzászólására (») Ápr 10, 2018 /
 
Szia!
Elvileg igen, általában lehetne probléma, de ezt írta:
Idézet:
„És nem azért mert olyan sokáig nem jött impulzus”
, azaz nem lehet hosszabb az idő, mint az átfordulási idő ( 65536 * Tléptet ), csak nem nulláról indul!
(#) ktamas66 válasza Lamprologus hozzászólására (») Ápr 10, 2018 /
 
Igen, de ez az eset pont nem az amiről beszélünk (amikor negatív lenne a kivonás eredménye). De ha mondjuk az előző érték 10, a következő pedig 8, akkor a 8-10=-2 (08-0A= FFFE) ami 65534.
(#) icserny válasza don_peter hozzászólására (») Ápr 10, 2018 /
 
Idézet:
„Mondjuk, hogy lessen debugolni, alapból?”

Válaszd a PIC16F882/883/884/886/887 családot!
Ha jól emlékszem, a PIC16F887 volt a PICkit2 Debug Express ( DV164121) MCU-ja.
(#) Pali79 válasza ktamas66 hozzászólására (») Ápr 10, 2018 /
 
Kipróbáltam, igazad van, jó eredményt kaptam vissza. Köszönöm!
Következő: »»   1027 / 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