Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   553 / 1319
(#) kisszee válasza gulasoft hozzászólására (») Aug 25, 2009 /
 
TIPPMIX #2:

Van ezen a demo boardon külső oszcillátor? Még arra tudok tippelni, hogy a config2 -nél primary oscillatort is beállítasz, plusz internal fast rc -t is.

Idézet:
„The system clock source can be provided by one of
four sources:
- Primary Oscillator (POSC) on the OSC1 and
OSC2 pins
- Secondary Oscillator (SOSC) on the SOSCI and
SOSCO pins
- Fast Internal RC (FRC) Oscillator
- Low-Power Internal RC (LPRC) Oscillator”


Aztán lehetséges, hogy hülyeséget mondtam.
(#) kisszee válasza gulasoft hozzászólására (») Aug 25, 2009 /
 
Idézet:
„A kódrészlet:
TMR1 = 0; // clear the timer
PR1 = 12500-1; // set the period register


Ha van ezen a boardon 8MHz -es külső oszcillátor, akkor a fenti számolással, plusz a Luca Di Jasio féle demo programmal (ahol a 10. megszakítás után növeli a másodperc számlálót) pont 2 másodperc jön ki. A számolás tehát jó, az oszcillátor beállításokat kéne még átnézned a Reference Manualban. Szerintem.
(#) watt válasza gulasoft hozzászólására (») Aug 25, 2009 /
 
Az pont 1másodpercenként vált, és nem pedig villog, ahogy te gondolom gondolod!
(#) gulasoft válasza kisszee hozzászólására (») Aug 25, 2009 /
 
Igen de a Di Jassio féle kódban pr1=25.000 van, azzal ez már 4 mp amit szerettem volna pll-el 1 re levinni, mert ugyanakkor azt írja a timer ezen részénél, hogy 32Mhz-val megy.
(#) gulasoft válasza watt hozzászólására (») Aug 25, 2009 /
 
Ha másodpercenként vált az nálam villogás, de ha megnézed én is azt írtam, hogy vált pont azért ne lehessen félreérteni.
(#) kisszee válasza gulasoft hozzászólására (») Aug 25, 2009 /
 
Ezek szerint a (#500195) hozzászólásom a fantáziavilág magasságából egyre jobban süllyed a realitás talaja felé.
(#) labu01wx hozzászólása Aug 25, 2009 /
 
Sziasztok!
Érdeklődnék, hogy egy PICKit 3 megfelelne-e kezdő (később talán haladó) szintre? Még az is érdekelne, hogy mivel tud többet egy ICD3?
(#) icserny válasza icserny hozzászólására (») Aug 25, 2009 /
 
A korábbi hozzászólásban említett kijelző lábaira rámértem (vigyázat, a lábkiosztás elég zavaros, ahogy az adatlapon is látható! Balról jobbra haladva: 14, 13, 12, ... 3, 2, 1, 16, 15).

1 VSS 0 V
2 VDD 4.96 V
3 V0 0.56 V

LCM-S01602DTR/M - ez egy háttérvilágítás nélküli kijelző. A fent megadott feszültségek összhangban vannak az adatlap ajánlásaival, s szobahőmérsékleten a kontraszt is megfelelő (a téglalapok halványan látszanak).
(#) gulasoft válasza kisszee hozzászólására (») Aug 25, 2009 /
 
Nincs rajta külső oszcillátor. Kiszedtem már az elején, mert egy 20-ast raktam volna rá a belső meg tud 32-őn menni.
(#) icserny válasza labu01wx hozzászólására (») Aug 25, 2009 /
 
Jelen pillanatban a PICkit2 szoftvere fejlettebb, többet tud.

Egy összehasonlító táblázat itt található. Eszerint a PICkit3 előnye az, hogy 2 V-os tápfeszültség is beállítható (a PICkit2-nél talán 2.5 V a minimum), s hogy megnövelték a belső programtár kapacitását.

Én a PICki2-őt választanám...
(#) frecsko válasza elektroláma hozzászólására (») Aug 25, 2009 /
 
Szia.
Átalakítottam így a progit ahogy a példád van. Nekem nem azt csinálja amit kellene: pontosabban elindítom és az első és a hetedik ledem egyfolytában világít.

main2.asm
    
(#) icserny válasza gulasoft hozzászólására (») Aug 25, 2009 /
 
Idézet:
„_CONFIG2(FNOSC_FRCPLL & POSCMOD_HS)”


A FNOSC_FRCPLL jó választás, de a POSCMOD_HS helyett szerintem POSCMOD_NONE kellene! (Ez az adatlapból az OSCIOFCN-nál írtakból is kikövetkeztethető)
(#) kisszee válasza gulasoft hozzászólására (») Aug 25, 2009 /
 
Értem, viszont, akkor azt még mindig nem, hogy mit szerettél volna a Primary Oscillatorral. (Mert a programod és a számolások alapján 8MHz -es órajellel "dolgozol").
(#) icserny válasza frecsko hozzászólására (») Aug 25, 2009 /
 
  1. BTFSS   PORTA,0                ;see if LED1 is already lit


Ebben a sorban PORTA helyett PORTD kellene!
(#) frecsko válasza icserny hozzászólására (») Aug 25, 2009 /
 
Ász vagy.
Elnéztem a be-kimenetet:S
De a hetedik ledem még mindig világít folyamatosan.
(#) icserny válasza frecsko hozzászólására (») Aug 25, 2009 /
 
Idézet:
„De a hetedik ledem még mindig világít folyamatosan.”

Nem látom, hol törlöd.
(#) M63-002 hozzászólása Aug 25, 2009 /
 
Tiszteletem mindenkinek!

Van egy kis problémám.
(Nikon infrás távvezérlő topikban már vázoltam, de ez elég népszerű topic, úgyhogy itt is megkérdezem, ha nem baj.)

Szóval: adott egy asm fájl, egy adott kontrollerhez. (PIC12F675). Viszont nekem csak PIC12F629 van otthon. A két kontroller adatlapja egyben van közölve, mivel a két kontroller közel azonos működésű. A 675 annyival tud többet, hogy a lábait az AN(szám) névvel is ellátták.

A probléma: A 675-ös PIC-hez írt program tökéletesen lefordítódott hex fájllá, amit be tudok égetni. MPLAB-ban a szükséges adatok (kontroller típusa, és a programban szintén a típus és az include fájlnév) átírása után az MPLAB nem akarja lefordítani. Nézem a sorszámozást, 3 sorral van baja. Ha azt kitörlöm, lefordítja, de kétlem, hogy ezzel nem rontottam volna el a program működését.

A honlap, ahonnét a forráskód van, azt írja, hogy a kapcsolás működik 629-es kontrolerrel is. Igen ám, de nem szívesen tennék tönkre egy SMD PIC-ket azzal, hogy olyan hex fájlt írok bele a Pickit2-vel, ami a 675-ös kontrollerhez készült, ámde tökéletesen működik.

Valaki tudna nekem segíteni megoldani ezt a gondot? PIC-programozást sajnos csak nagyon alapszinten tanultam...

Az említett honlap linkje:
http://users.tkk.fi/~jwagner/electr/d70remote/
És a forráskód:
http://users.tkk.fi/~jwagner/electr/d70remote/main.asm

Köszönöm előre is mindenkinek a válaszokat. Valami nagyon érthető magyarázat kéne, hogy mit, hogyan és hol csináljak.

Üdv.:
002
(#) labu01wx válasza icserny hozzászólására (») Aug 25, 2009 /
 
Köszi!
Szerinted a későbbiek folyamán sem lesz jobb a PK 3 szoftvere, mint a 2-é?
(#) M63-002 válasza M63-002 hozzászólására (») Aug 25, 2009 /
 
A sorok, amiket hibásnak ítél az MPLAB:
  1. clrf    ANSEL                   ; digital IO only, no analog
  2.         clrf    TRISIO                  ; all pins as output
  3.  
  4.         movwf   OSCCAL                  ; calibrate


Ez a legutolsó sor, amit ide beszúrtam, 6 sorral van lentebb az idézett első két sorhoz képest.
(#) Braf válasza M63-002 hozzászólására (») Aug 25, 2009 /
 
Clrf ansel sorra azért dob hibát mert a 12f675 ben van AD konverter míg a 629-ben nincs ezért a 629 ben nincs is ilyen nevű regiszter.
Másik 2 sorra meg nem hibát dob hanem csak egy üzenetet hogy ügyelj a bankváltásra.
(#) potyo válasza M63-002 hozzászólására (») Aug 25, 2009 /
 
A 16F629-be nyugodtan beégetheted a 675-ös hex-ét, mert a nem létező regiszterekbe történő írás (AD konverter tiltása) nem eredményez semilyen problémát.
(#) M63-002 válasza potyo hozzászólására (») Aug 25, 2009 /
 
Köszönöm szépen. Akkkor nem nyúlok a 675-ös programjába.
(#) icserny válasza M63-002 hozzászólására (») Aug 25, 2009 /
 
A CLRF ANSEL sort vagy hagyd ki, vagy tegyél a helyébe egy NOP utasítást. A másik két sort ne bántsd, mert azok kellenek!
(#) frecsko válasza icserny hozzászólására (») Aug 25, 2009 /
 
Miért töröljem mikor a program szerint nem is rakok ki rá semmit.

Lenne egy másik kérdésem is: hogyan tudom nagyságrendileg pontosan meghatározni, hogy hány másodperc késleltetést adtam meg a DELAY rutinna? Erre van konkrét képlet?
(#) M63-002 válasza icserny hozzászólására (») Aug 25, 2009 /
 
Üdv!

Tettem a helyébe egy NOP-ot, és egyszerűen, hiba nélkül lefordította.

Mégegyszer köszönöm mindenkinek a segítséget!
(#) potyo válasza frecsko hozzászólására (») Aug 25, 2009 /
 
Pl. szimulátorral
(#) gulasoft válasza icserny hozzászólására (») Aug 25, 2009 /
 
POSCMOD_NONE semmi változást nem hozott, többek között azért nem volt zavaró a primary hs merthogy nincs is rajta primary.
Másik gonom beraktam a kondikat, csepptantállal a vcap-ot földre, minden vdd vss láb közé 100pF-eket felismeri a pickit 2 a procit hajtja is de a debuggerrel ha beírom a progit minden bemegy, majd jön egy ilyen:
Programming Target (2009.08.25. 21:56:52)
PIC24FJ128GA008 found (Rev 0x3002)
Erasing Target
Programming Program Memory (0x0 - 0x37F)
(Using Programming Executive)
Verifying Program Memory (0x0 - 0x37F)
(Using Programming Executive)
Programming Configuration Memory
Verifying Configuration Memory
PK2Error0027: Failed verify (Address = 0x157FE - Expected Value 0xBF7F - Value Read 0x3F7F)
PICkit 2 Ready

lehet hogy a konfigurációs terület ment gallyra, és állíthatok amit akarok akkor sem fog bemenni?
(#) icserny válasza frecsko hozzászólására (») Aug 25, 2009 /
 
Idézet:
„Erre van konkrét képlet?”


DELAY = 4*utasításciklusok száma/Fosc

Az adatlapból kiderül, hogy melyik utasítás hány ciklus.
Persze, egy többszörösen egymásba ágyazott ciklusnál nem könnyű összeszámolni...

(#) icserny válasza gulasoft hozzászólására (») Aug 25, 2009 /
 
Idézet:
„PK2Error0027: Failed verify (Address = 0x157FE - Expected Value 0xBF7F - Value Read 0x3F7F) PICkit 2 Ready lehet hogy a konfigurációs terület ment gallyra, és állíthatok amit akarok akkor sem fog bemenni?”

Mi a búbánatért akarod 1-be írni a 15. bitet, amikor "reserved", és az adatlap szerint 0-t kell beleírni?!

Idézet:
„minden vdd vss láb közé 100pF-eket”

Akarod mondani: 100 nF-ot...
(#) gulasoft válasza icserny hozzászólására (») Aug 25, 2009 /
 
Akarja a búbánat a c fordító írja a config szavak alapján.
ha 101 van a kondin az nano vagy piko?
Következő: »»   553 / 1319
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