Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Nekem teljesen jol mukodik...
A MAP file-bol bemasolnad, hogy hogy vannak a valtozok elhelyezve? Pl nekem:
Ehhez kepest a disassembly:
rxp 0x000234 data extern C:\xpicc\rkv\rkvmp.c
stimeout 0x000081 data extern C:\xpicc\rkv\rkvmp.c Ez egy 4620as procin van.
Ezt most nem teljesen értem. Szólj ha tévedek, de a disasmot látva neked ez egy int* pointer és a tim is int, és a következő történik:
FSR0=ptr; ptr++; tim=5;
Más. Már régóta piszkál, csak legyen időm erre is, meg az előző problémára is, hogy mit csinál a forditó ha egy int laphatárra jön ki, mondjuk 0x2ff-0x300. Mindkétszer beteszi a jó movlb-t ? Vagy nem allokál ilyen cimre? Vagy hibázik?
Figyi,
1. milyen linker scriptet hasznalsz? 2. hasznalsz-e #pragma udata -kat vagy idata -kat? 3. es #pragma varlocate -eket? 4. ugyanabban a file-ban vannak a valtozok deklaralva amiben hivatkozol rajuk vagy extern-esek? 5. es nem utolso sorban melyik C18 verziot hasznalod? Amikkel esetleg kiserletezhetsz, az az optimalizalasok, legfokepp a bank optimalizalas kikapcsolasa (-On-), valamint, hogy manualisan '#pragma varlocate 0 stimeout' -tal megmondod neki, hogy vegye mar eszre a 0-s bankon van az a valtozo. Bar ennel jobb lenne, ha linker scriptedben lennenek a szekciok definialva, es '#pragma udata szekcionev' -vel (ill ha inicializalt akkor idata) megadod hol van az az atkozott valtozo, es ha kell neki eroszakoskodni akkor '#pragma varlocate szekcionev stimeout' -tal adod meg a bankjat. De amugy nezz korul hatha van frissebb C18, vagy ha nincs akkor esetleg regebbi valtozat aminel speci jol mukodik. Ill ha a linker scriptedben veletlen nagy szekcio meretek vannak megadva, akkor azon kellene faragni esetleg. Idézet: „Más. Már régóta piszkál, csak legyen időm erre is, meg az előző problémára is, hogy mit csinál a forditó ha egy int laphatárra jön ki, mondjuk 0x2ff-0x300. Mindkétszer beteszi a jó movlb-t ? Vagy nem allokál ilyen cimre? Vagy hibázik?” Ha nem fer el, akkor megprobal egy masik szekciora allokalni ha van szabad, ill ha nincs megadva explicit szekcionev a '#pragma udata/idata szekcionev' -vel... Ha meg van adva akkor a linkernek kiabalnia kell, hogy nem tudja a valtozot elhelyezni. Ugyanez igaz tombokre is.
Hali! Próbáltam a PICKit2 demoboard-ján (PIC16F887) "megszólaltatni" a nyomógombot. Nem először használtam a BTFSS és BTFSC parancsokat, de most valami miatt nem megy. Idáig 16F648A-val próbálkoztam és ott mindig sikerült. A demoboard esetében nyomógomb a RB0-án van. Természetesen a TRISB jól van beállítva. Én a configurációs bitekre gyanakszom, jobb híjján. Létezik ezekből valami különlegesség? Rémlik ilyesmi, hogy a PORTB felhúzóellenállásai ki/be kapcsolhatóak...rosszul emlékszem, vagy itt lehet a gond? Esetleg van öteltetek? Köszönöm szépen az építő jellegű hozzászólásokat!
ANSELH-t nullazd ki! Amugy a pullup kerdes valoban jogos, de power on resetkor az ki van kapcsolva, tehat amig be nem kapcsolod addig az rendben van.
Masik, hogy a bank szelekcio ilyen formajarol szokj le. Ket problema is van: 1. Hasznald a BANKSEL makrot a STATUS bitek izelgetese helyett 2. Logikai felepitesben mindig ugy szoktuk csinalni, hogy a bankot a regiszter hasznalata elott allitjuk es nem utana... Ezt meg kell szokni mert meg ilyen kis program eseteben okes a dolog, egy nagyobb esetebe problemak lehetnek majd...
Oké, neki esek. Köszönöm.
Azért így váltogatom a bankokat, mert a datasheet-ek ezt ajánlották. Láttam már banksel-t is, de úgy még nem sikeredett nekem, azután pedig nem is erőltettem. De, persze hallgatok az okosabbakra. Köszi!
Sziasztok! Valaki nem tudná átalakítani Topi cikkében szereplő DCF órát Hőmérősre? Vagy esetleg nem tudtok valami jó linket, ahol találok órát meg hőmérőt egyben valami hasonló tudással, az sem baj ha nem DCF. Előre is köszi a válaszokat!!!
Sziasztok !
Ez melyik demo panel a ChipCad -nél ,nem megy most a szerverük ,de mindjárt lejár a hírdetés ! Mennyit érhet ? Köszi ! Üdv : István
Írja rajta, 44 pin demo board. Szerintem ez lehet az: link.
Köszi !
Ez van a Chipcad-nél 6-7000 körül ?
Igen, ha magában veszed, viszont akkor a szerelt mellé kapsz két csupasz panelt is. A PICkit2 Debug Express csomagban a PICkit2 programozó mellé adnak egy ilyen szerelt kártyát. Valószínűnek tartom, hogy az vált "feleslegessé", csak a programozóra volt szüksége a tulajdonodának, és azért hírdetik.
Köszi ,már megvettem
Pickit -em még nincs ,de ilyenem már igen Üdv : István Idézet: „Azért így váltogatom a bankokat, mert a datasheet-ek ezt ajánlották. Láttam már banksel-t is, de úgy még nem sikeredett nekem, azután pedig nem is erőltettem.” A DataSheet az a chipet segit megismerni, nem torekszik arra, hogy jo fejlesztesi tanacsokat adjon legyen az kodolasi stilus vagy methodologia. A BANKSEL-t "baromi nehez" hasznalni ugyanis csak oda kell irnod melle a valtozo nevet, a tobbit majd o kiokoskodja pl:
(meg mielott valaki belekot, nem kukkantottam bele az adatlapba, hogy hol is van az ANSELH, szoval lehet egeszen mashol...)
Egyébként egy jó kis kártya, nekem be van dobva a táskám zsebébe, mindig kéznél van, ha valami megnéznivaló felmerül.
Én azért vettem dobozban a két csupasz panellel, mert a csupasz panelekre lehet már 44 lábú PIC-et is tenni. Anno a 18F-ekkel történő ismerkedést kezdtem úgy, hogy valami 18F4423 vagy ilyesmi PIC-et forrasztottam fel az egyik üresre és átírtam az összes 16F887-re adott példaprogramot erre a 18F-esre. A harmadik panel meg még szűz, ha lesz valami számomra érdekes chip, akkor majd beültetem.
A "Nagy LED kijelzős DCF77 óra PIC-kel" c. órára gondolsz? Bővebben: Link
Idézet a kapcsolás leírásából: Idézet: „IC5 névre hallgat egy DS1621-es hőmérő IC. Sok funkciója nincs, ez csak amolyan csicsa... Miért ne ez lenne a 250. eszköz a szobában ami megmondja hány fok van. ” Most akkor mi a kérés? Az enyém csak annyi: Figyelmesen olvasni! :nezze: És még annyit, hogy van neki külön topikja, amit szintén érdemes elolvasni!
Én nem arra gondoltam, hanem erre:Bővebben: Link És kocsimba szeretném tenni a gyári óra helyett.
Szerinted van közöttünk gondolatolvasó?
Bocsi ez tényleg kimaradt.
A gomb érzékeléshez kell felhúzó ( vagy le) ellenállás, ami lehet külső vagy belső. Ha nem vagy benne biztos, hogy a belső felhúzó be van kapcsolva, akkor tegyél nx1 kohmos ellenállást a láb és a +5V közé ( műszerrel is meg tudod mérni a logikai szinteket az adott lábon!).
Ha nem megy, akkor kell a kódrészlet! Steve
Hali!
Nah, kíbővítettem a JDM-em egy MAX232-essel, így már másfél rétegű a nyákom, de még így se akarja az igazat... Naszóval, elkezdtem méregetni és azt találtam h a Vdd-t nem huzza föl egészen 5V-ig, csak kb 3.5V-ig... Lehet h ez a gondja?? Előre is köszi: Noja Idézet: „Naszóval, elkezdtem méregetni és azt találtam h a Vdd-t nem huzza föl egészen 5V-ig, csak kb 3.5V-ig...” Ahhoz, hogy ezt egeszen pontosan meg lehessen mondani a programozoi specifikaciot kellene megnezni, de ha jol emlekszem jonehany mid-range-nek kell min 4.5V programozaskor. 3.5V amugy is kevesnek tunik 5V-os eszkozoknel.
Én úgy tudom, hogy 2,5V a minimum minden mid-range pic programozása esetén. 4,5V-nál csak a törlés a gyorsabb mert nem egyessével (blokkonként? wordönként? ezt nem tudom) megy végig hanem egyben törli az egészet.
Nekem pickit2-vel a programozás tökéletesen megy 2,5V nál is. |
Bejelentkezés
Hirdetés |