Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
A whilebol gondolom, hogy nem ASM-ben irod...
Akkor meg kellene nezned, mit generalt a fordito. Mi lenne, ha egy egyszeru asm progit tennel be? Akkor egybol kiugrana, merre kell keresgelni. Ne inicializalj semmit, max a portot a lednek, de meg az sem kell, ha olyat valasztasz, ami bekapcsolaskor output. A legprimitivebb progit csinald, ami letezik. Ja, meg probald meg elemrol jaratni!!!
Hopp, most latom a nyak tervet...
Elegge huzos, hogy valahol athuzos... Foleg, ha te sajat magad marattad... Sok, szinte lathatatlan helyen lehetnek reszleges atvezetesek. Szerintem csinalj egy masik nyakot, nagyobb hezagokkal.
Ezen a panelterven lehetne sokat javítani:
- 7805 kimenetén nincs 100nF közvetlenül a labainál, - C22 alacsony ESR -rel, de a bekötéséből majdbem nagyobb soros ellenállás adódik, mint a sajátja.. - C15 és C23 -nál is jobb lenne, ha a bemenő táp vezeték átmenne a kivezetéseken. Sok hasonló bekötés van... - Nagyon nagy impedenciás a földelés a sok majdnem teljesen elzárt felülettől. Ilyen felület pl. a pic 31. lábát is bekötő felület. Nem ártana néhány föld átkötés sem. Ne aggódj, nincs analóg mérés és audió fokozat. Vezetékkel a pic alatt kösd össze a 12 és a 31 lábakat. Most a fél kártyát megkerüli a föld összeköttetés... - Q1 -hez 22pF -os kondenzátorokat tennék.
Most írtam egy nagyon egyszerű programot.
Először is, az újraindulások miatt én kérek elnézést. Mivel több fordítóhoz is vannak beállítva konfigurációs bitek, ezért elnéztem, hogy az aktuális fordítóhoz ki van-e kapcsolva a watchdog, természetesen nem volt. Ezzel megszűntek az újraindulások. Ami érdekes, hogy most próbálkoztam a külső oszcillátorral HSPLL beállításokkal. Néha megy, néha nem. Amikor nem megy, akkor leveszem a tápot, majd visszarakom és utána megy. Párszor ezt eljátszom, megint nem megy, utána megint megy. Mindenféle fizikai mozgatás nélkül. Egyébként a NYÁK-ot legalább 10x végig bogarásztam, jó erős fényerejű lámpával átvilágítva néztem meg, hogy nincs-e véletlenül egy apró rövidzár valahol, de semmi. Fotózásos technikával készült a NYÁK, elég nagy hézag van a sávok között. Sajnos most nem tudok újat maratni, mert nincs akkora méretűm, amire ráférne (másrészt nem egy rövid művelet lenne újra megcsinálni az egészet). Most, hogy félig-meddig megy a HSPLL, megpróbálom a másodlagos oszcillátort is.
Kicserélted a kondikat? (kicsit kezdünk lecsúszni kezdőbe...)
Igen. Azért használtam 15 pF-os kondikat, mert a dokumentáció ilyet javasolt a HS kristályokhoz.
A táplálást próbáltam külső tápról, illetve PICkit2-ről. Egyik sem bizonyult megoldásnak. A másodlagos oszcillátor továbbra sem működik, csak néha-néha kapok interrupt-ot. Megpróbálom áttörölgetni a az egész NYÁK-ot alkohollal, hátha maradt valahol megszáradt forrasztó olaj.
Szia!
Én kísérleteznék azokkal a kondikkal. Induláskor van főleg szerepe. Sajnos már megépített és korábbi szériákban működő áramkörökbe beépített új kvarc-ok nem működtek rendesen.Csak egy kis okosítással. Ez egy ipari szériánál berendelt nagyobb mennyiségű alkatrész esetén mindenképpen megoldást kíván. A te esetedben pedig jó tanulsággal szolgálhat. F
Amint lesz alkalmam, kicserélem őket. Írta is a dokumentáció, hogy nagyobb kapacitású kondenzátorral stabilabb lesz az oszcillátor, ellenben lassabban fog indulni. Nálam ez egyáltalán nem számít. Ellenben akkor cseréljem az RTC kvarc kondenzátorait is? Azonak 30 pF-ost javasolt, 33-as van benne. Teszteltem, jól jár a Timer1, szépen másodpercenként kapok interrupt-ot.
Tény, legközelebb figyelek, hogy az egyszerűbb dolgokat a kezdőben kérdezzem. Elsőre úgy tűnt, hogy bonyolultabb a probléma.
Szeretnék egy PIC12F615-re programot írni. Eddig csak kizárólag 18F-es jószágokkal (2520, 2423, 2523, 4520, 25K80, 26K80) foglalkoztam, de most a kevesebb láb és a kisebb alkatrészköltség miatt egy kis nyolclábú 12F-el barátkozom. Rögtön a legeslegelején természetesen problémába ütköztem:
Erre azt mondja hogy az _IntRC_OSC nincs definiálva. Aztán jönne az inicializálás, szeretném beállítani a belső oszcillátor órajelét, de nem találok olyat hogy OSCCON regiszter. A 18F-eknél ez kellett, de itt max csak OSCTUNE-t találtam, de az órajelet nem tudom mi állítja be. A többi erorral egyenlőre nem is foglalkozom...
A doksit elnézve a konfigurációs byte utolsó 3 bitje határozza meg a belső oszcillátor órajelét.
A _IntRC_OSC szerintem (eddigi tapasztalatok alapján) nagybetűs _INTRC_OSC lesz, de meg tudod nézni a PIC-hez tartozó header-ben. (MPASM esetén C:\Program Files\Microchip\MPASM Suite\PIC12F615.INC) Ahogy én láttam, _INTOSC-nek van definiálva. Szerk.:
Nálam _INTOSCIO a nyerő, _INTOSC esetén a GP4 lábon órajel megy ki, nem használható I/O célra.
Jogos, én is úgy szoktam használni, csak most benéztem a definíciót. Egyébként az INC fájlban szépen le van írva mellé, hogy melyik definíció mire szolgál, nem lehet eltéveszteni.
Sziasztok!
Látom volt másnak is problémája Mikrokontroller újraindulással. Látom persze azt is, hogy megvan a megoldás, de tanulság jelleggel: én propellerrel jártam úgy, hogy újraindulgatott folyamatosan, megkérdeztem néhány hozzáértőt, akik azt javasolták - a gyári ajánlások ellenére tegyek kondit a reset láb és a föld közé. Én 100nF-ot tettem közvetlen a reset lábra, kis távolságra az chiplábtól. Egycsapásra megszűnt az összes ilyen probléma, azóta betonbiztos a cucc.
Hali!
Valaki lenne oly kedves, hogy küld nekem egy programvázat assemblyben a pic24f64ga002-höz? Előre köszi!
A honlapomon a PIC-kwik projektben találsz néhány mintát (különösen a Kísérleti áramkör előtti fejezetekben és a Szoftver segédlet-ből letölthető mintaprogramok között). Az .include "p24Hxxxx.inc" helyett értelemszerűen .include "p24Fxxxx.inc" kell...
Sziasztok!
Segítséget kérnék PIC18F24K22 beállítással kapcsolatban. A kimeneti portokat digitális kimenet és bemenetként szeretném használni. A csatolt file alapján (SIM) ez úgy tűnik sikerült beállítani, de ha kiadom a setf LATA (LATB, LATC) utasítást és lefuttatom a SIM-et, nem mindegyik kimenet áll 1-be. Már átbújtam az adatlapját, de nem sikerült beállítani. Mi lehet a probléma?
Talán most sikerül a csatolt file
En ugyan nem ertek ezekhez a fejlesztoi rendszerekhez, de hol a program kezdetenek a vektora illetve az alacsony/magas prioritasu megszakitasok vektora?
Probald meg a movlb nelkul...
MOVLB nélkül nem lehet átállítani digitális portra és nem tudom kimeneti módra kapcsolni.
Az adatlap írja, hogy ilyenkor kell a MOVLB
De az instrukcioban nincs feltuntetve, hogy hasznalja-e a BSR-t vagy nem.
Egyebkent megneztem az adatlapot es az ANSEL regiszterek pont beleesnek, hogy nincsenek a SFR-be mappolva... Ez mar nem az a rendszer, ahol ezek belefertek a 60 folotti teruletbe, ugy latszik. Idézet: A címekből a fordító tudni fogja, hogy BANKED módot kell használnia. „De az instrukcioban nincs feltuntetve, hogy hasznalja-e a BSR-t vagy nem.”
Helló!
Van valamilyen ötletetek arra, hogy hogyan lehetne assemblyben x változóban betölteni y címét? (Például ha van egy y tömböm, akkor annak kezdőcímét szeretném betölteni x-be, hogy azzal indexelhessem az elemeit.)
Köszönöm. Nem tudom, hogy a MOVLW így kezeli ha nem konstanst adunk neki paraméterként.
És azt is megtudnád mondani, hogy 16bites PIC-eknél hogy van ez? Előre is köszönöm.
Ha device választáskor megnézed létszik, hogy az MPLAB SIM nem támogatja rendesen (zöld helyett narancssárga).
Próbáld ki a valóságban. Volt már olyan a szimulátorban nem volt csak jó. Idézet: De, konstans lesz ez is, mert az Y változódnak csak a tartalma változik, itt viszont a címére hivatkoztunk.„Nem tudom, hogy a MOVLW így kezeli ha nem konstanst adunk neki paraméterként.” Idézet: „És azt is megtudnád mondani, hogy 16bites PIC-eknél hogy van ez?”
Nagyszerű. Köszönöm szépen. Igazán hálás vagyok
Még egy kérdésem lenne:
Az ASM30 Toolsuite-ban tényleg nincs define direktíva vagy csak én bénázok valamivel? (bár google-özés után is arra következtettem, hogy nincs)
A helpjében nézd meg a direktívákat! Ott minden kiderül. Nem #define a neve...
|
Bejelentkezés
Hirdetés |