Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
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. 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.
Az pont 1másodpercenként vált, és nem pedig villog, ahogy te gondolom gondolod!
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.
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.
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é.
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?
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).
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.
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...
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. 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ő)
É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").
Ebben a sorban PORTA helyett PORTD kellene!
Ász vagy.
Elnéztem a be-kimenetet:S De a hetedik ledem még mindig világít folyamatosan. Idézet: „De a hetedik ledem még mindig világít folyamatosan.” Nem látom, hol törlöd.
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
Köszi!
Szerinted a későbbiek folyamán sem lesz jobb a PK 3 szoftvere, mint a 2-é?
A sorok, amiket hibásnak ítél az MPLAB:
Ez a legutolsó sor, amit ide beszúrtam, 6 sorral van lentebb az idézett első két sorhoz képest.
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.
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.
Köszönöm szépen. Akkkor nem nyúlok a 675-ös programjába.
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!
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?
Ü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!
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? 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... 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...
Akarja a búbánat a c fordító írja a config szavak alapján.
ha 101 van a kondin az nano vagy piko? |
Bejelentkezés
Hirdetés |