Fórum témák

» Több friss téma
Fórum » PIC programozás
 
Témaindító: G-Lex, idő: Okt 24, 2005
Lapozás: OK   52 / 66
(#) zbartalos hozzászólása Jan 9, 2014 /
 
Sziasztok. Egy kis segítségre lenne szükségem 16F877a ügyében. Szeretném használni a belső comparátort. Egyenlőre úgy írtam hozzá meg a programot, hogy RA0 és RA1 inv- és RA2 vref- RA3 vref+. Először a referencia lábakra szeretnék a VDD és VSS-t kötni, de sajna nem igazán értem hogyan működik a belső referencia generátor. Az adatlapból nem sok dolog derül ki de letöltöttem egy pdf-et DS33023, ebben kicsit bővebb a leírás. Sajnos ebben sem találtam, hogyan tudnám a VDD-t és VSS-t kicsatolni referenciaként. PCFG3CFG0 értéke 1101, A/D kikapcsolva (adcon0.0:=0. Az egész lényege, hogy egy áramkörben kellene figyelni, hogy kapcsolódik-e valamilyen fogyasztó az áramkörbe vagy sem. Erre a legeszrerűbb megoldásként a komparátort használnám, de sehogy nem tudom kikérni belőle hogy van-e rajta valami. Ebben kérném a segítségeteket. A programot pascalban írom, mivel az megyeget. A segítséget előre is köszönöm.

Üdv.: Zoli
(#) cua hozzászólása Jan 17, 2014 /
 
Tudtok hibáról a 12F1840 (vagy egyéb a családból) és PICKIT3/ICD3 relációban?
Minden próbálkozásom "Target Device ID (0x0) does not match ...(0x1b80)." hibával zárul, holott eddig a 16F/18F család tagjaival nem volt gondom. Sem PICKIT3 sem ICD3 nem ismeri fel.
Még soha nem használtam 12F-es szériából semmit, más típusom sincs, csak az említett 1840-es, erre kellett volna programot írnom.
(#) Hp41C válasza zbartalos hozzászólására (») Jan 17, 2014 /
 
Szia!
A Ref- és REF+ funkció az A/D átalakítóhoz tartozik. A komparátor referencia modul kimenetét az RA2/AN2/Vref-/CVref lábra tudod kapcsolni. A komparátor referencia modullal sem a Vss sem a Vdd közvetlenül nem jutttható a CVref lábra (ld. adatlap Figure 13-1.). Egy speciális lehetőség azért maradt: Ha egy analóg funkcióval bíró lábat kimenetnek állítunk be (a TRIS bitje 0) a kimeneti meghajtója fogja meghatározni a feszültséget. Ha a lábhoz tartozó portbit értéke 0, akkor a Vss -hez közeli feszültség (terhelés nélkül a Vss), ha a portbit 1, akkor a Vdd -hez közeli feszültség (terhelés nélkül a Vdd). jelenik meg a lábon. Persze ezek a feszültségek a PIC belső Vss ill. Vdd sínjének feszültségei. Pl. sok, nagyobb árammmal terhelt kimenet is van, akkor a földlábak ill. tápláb és a belső sínek közötti hozzávezetések ellenállásán eső feszültségek miatt eltérhetnek a külső Vss és Vdd értékétől.
(#) Hp41C válasza cua hozzászólására (») Jan 17, 2014 /
 
A "Target Device ID (0x0)" arra enged következtetni, hogy a PGC és/vagy PGD hozzávezetés kontakthibás, nem jó lábra megy, a láb kimenetnek van felprogramozva, a MCLR lábon a feszültség nem elég magas, hogy programozási módba lépjen a kontroller. Próbáld a "Use Vpp first programming entry" módszert. A kontroller lábszáma miatt nyomkövetést csak un. header -rel lehet végezni. A programozást Debugger helyett Programmer menüből próbáld.
(#) cua válasza Hp41C hozzászólására (») Jan 17, 2014 /
 
Ha kihúzom a 12f1840-et és bedugok a helyére egy 16f1825-öt (felülről lábkompatibilis),akkor kifogástalanul megy, tehát kontakt hiba kizárva.
Több 12f1840-et is próbáltam, elvileg procihiba kizárva.
Nem debug menüből programozom.
Már elég sok mindent végigmatattam de valami kimaradhatott :-/
(#) Hp41C válasza cua hozzászólására (») Jan 17, 2014 /
 
Itt nézz körül.
(#) cua válasza Hp41C hozzászólására (») Jan 17, 2014 /
 
Ezeket már olvastam, a mai napom ezzel ment el. A legtöbb probléma abból adódik, hogy nem adnak külső tápot neki, vagy ahogy írtad sima kontakt hiba, de ez nálam nem él. Marha bosszantó. Lassan több időt töltök az égetéssel, mint a programozással
(#) watt válasza cua hozzászólására (») Jan 17, 2014 /
 
A PK3-nál van olyan, hogy fast programming mód, mint a PK2-nél? Ha igen, akkor kapcsold ki!
A másik, hogy milyen adapterrel próbálkozol? Gyanús, hogy nem teljesen korrekt, pl. túl hosszú vezeték, hidegítés hiánya stb. Simán van olyan, hogy az egyik PIC nem annyira érzékeny, mint a másik...
(#) cua válasza watt hozzászólására (») Jan 17, 2014 /
 
Reggel óta a következőkkel próbálkoztam (persze nagyrészt túrtam a netet hátha..):

12f1840, sima próbapanelen, táp rádugva, hidegítőkondi, MCLR/VPP felhúzva 10k-val. Nincs más alkatrész
Minden eszköz, pigtail és egyebek gyári, semmi házi cucc.
MPLABX v2.0 (Sajna nincs semmi régebbi ezen a gépen)

1. PICKIT3-al nem ment
2. Megpróbáltam ICD3-al, azzal sem ment.
3. Kicseréltem a procit 16f1825-re, ICD3-al ment
4. Visszaváltottam PICKIT3-ra, azzal is jó volt.
5. Proci vissza 12f1840-re, viszont másik példány, összesen hármat próbáltam.Szintén nem ment.
6. Próbáltam belső táppal, hátha, nem ment.

Most épp fekete kakast áldozok. :-/
(#) nedudgi válasza cua hozzászólására (») Jan 17, 2014 /
 
A program elejére egy kis késleltetést tettél?
A PICKit3-al vidd RESET-be a kontrollert, utána töröld, és azután programozd.
(#) icserny válasza cua hozzászólására (») Jan 17, 2014 /
 
Mennyi VDD és Vpp tényleges értéke? Teljesül a 8.0 V < Vpp < 9.0 feltétel?
A hozzászólás módosítva: Jan 17, 2014
(#) watt válasza nedudgi hozzászólására (») Jan 17, 2014 /
 
...fel sem ismeri...
(#) watt válasza cua hozzászólására (») Jan 17, 2014 /
 
Szép történet! Passz!
(#) cua válasza icserny hozzászólására (») Jan 17, 2014 /
 
Este lemegyek szkópért és megnézem, csak feltételezem (16F1825-el jó volt) hogy rendben van.
A biztonság kedvéért megnéztem egy 18f2520-at és 18f242-t is, ezek is szépen ketyegnek.
Mint mondtam sosem volt ilyen gondom, igaz soha nem használtam 12f-es családból procit.
Öregségemre megtréfálnak ezek a mütyürök
A hozzászólás módosítva: Jan 17, 2014
(#) usane válasza cua hozzászólására (») Jan 17, 2014 /
 
Próbáld ki egy másik gépen.
Én 16F690-el jártam úgy, hogy nem ismerte fel a PK3 amin más PIC-et programoztam.
Aztán munka miatt másik gépen is dolgoztam vele, azon meg ment simán.
Meg is lepődtem, mert kipróbáltam 2db 690-et is mindkettővel ugyanez volt a helyzet.
Ugyanaz az mp-lab, oprendszer mindkét gépen.
Az egyetlen különbség, hogy az egyyiken az USB feszültsége csak 4.75V körüli volt amelyiken nem ment, a másikon meg 4.9V körül.

Ha nincs másik gép akkor próbáld megtáplálni a PIC-et külső tápról.
A hozzászólás módosítva: Jan 17, 2014
(#) Hp41C válasza cua hozzászólására (») Jan 17, 2014 /
 
A PICkit2 kezeli, felismeri, programozza... De a PICkit2 sem "Midrange / Standard" család tagjaként, hanem a "Midrange / 1.8V min" tagjaként.
(#) cua válasza Hp41C hozzászólására (») Jan 17, 2014 /
 
..közben visszaértem.
Visszacseréltem a 16f1825-öt (abból csináltam meg az SOS vezérlést) az eredeti 12f1840-re.
Meglepetésemre most más a hibaüzenet:
"Target Device ID (0x3b80) does not match expected Device ID (0x1b80)."
Ezen kicsit meglepődtem, hirtelen nem is találom mi lenne a 0x3b80, a 0x1b80 az természetesen a beállított 12f1840.

*hexa javítva
A hozzászólás módosítva: Jan 17, 2014
(#) watt válasza cua hozzászólására (») Jan 17, 2014 /
 
Nincs a PK3-hoz is külön égetőprogram? Mint ha lenne...
(#) cua válasza watt hozzászólására (») Jan 17, 2014 /
 
Van hozzá, még nem próbáltam.
Nem hagy nyugodni a dolog, mivel tuti nem én vagyok az első aki 12f1840-et akar PK3/ICD3-al programozni v2.0 MPLABX-en keresztül
Kezdek újra egy üres project-et, és szépen végigmegyek még egyszer az összes szóbajöhető beállításon.
(#) icserny válasza watt hozzászólására (») Jan 18, 2014 /
 
Az archívumban keresd! (Ezek szerint ezt is félredobták?)
(#) cua hozzászólása Jan 18, 2014 /
 
Nos, tiszta fejjel, friss szemmel ma délelőtt sikerült felszámolni a rejtélyt
Első körben a tegnapi áramkört végigmértem,mindenhol az volt amit vártam, kivéve a kommunikációt a PK3 és a pic (12f1840) között. Mert az nem volt.
Csináltam egy új, üres project-et, mindent beállítottam ahogy szoktam és ... tadááá, működött.
Ismét végigmértem mindent, majd visszatöltöttem az eredeti project-et és lám, ismét nem.
Ettől kezdve nem maradt más dolgom, mint pontról-pontra végigmatatva megkeresni a különbséget.
Érdekes, hogy watt jó helyen kapisgált ezzel:
"A PK3-nál van olyan, hogy fast programming mód, mint a PK2-nél? Ha igen, akkor kapcsold ki!",viszont nem ilyen van, hanem egy skálán lehet állítani 2-13 között, ahol a kisebb érték gyorsabb. Ezzel azért nem foglalkoztam, mert egy régebbi esetben (16f család) már rájöttem, hogy 4-nél gyorsabbra nem érdemes állítani (gyárilag 2!, azaz fastest), ezért mindig leveszem új project beállításánál.
Már csak két lehetőség van:
1.Bal*sz voltam és elfelejtettem (nem kizárt)
2. Mivel az egerem bal gombja már kontaktos, néha dupláz (az a sok COD), nem vettem észre,hogy csak 'leklikkeltem' és nem mentettem el.
Ennyi.
(#) zbartalos válasza Hp41C hozzászólására (») Jan 27, 2014 /
 
Köszönöm a válaszodat, közben már megoldódott a probléma és inkább söntöt használok, a/d átalakítóval és igy működik a dolog rendesen, sőt még fogyasztást is ki tudom számoltatni vele.
Üdv.: Zoli
(#) Kapagerenda hozzászólása Feb 12, 2014 /
 
Hello!
Megcsináltam a Led-es futofényt amit ezen az oldalon találtam a cikkek között (pic kezdőknek). 16F887 chipem van.
Próbáltam megcsinálni rá a futófényt viszont a végső eredmény az lett hogy a 0,3,4 es helyértéken levő bitek világitottak folyamatosan egyszerre. Próbáltam válltoztatni a késleltetéseket de mindig csak ugyanez a három Led világitott.
Más programoknál is a Delay-el volt gond. Álltalában a villogás helyet csak egy folyamatosan világító Led lett az eredmény.
4MHz es kvarc al működik. Hogyan kellene a késleltetést megcsinálni hogy lássak is ezekből valamit?
Előre is kösz a segítséget
(#) foxi63 válasza Kapagerenda hozzászólására (») Feb 12, 2014 /
 
Hali!
A timer2 nevű számlálóval tudsz csinálni 1 ms idejű megszakítást, és amikor a tmr2 megszakítást generál, akkor szépen egy másik számlálót elpörget 1000-ig.Ha elérte akkor az adott porton megváltoztatod a led állapotát, és a számlálót lenullázod. Ekkor pont 1 sec ideig világít a led, majd 1 sec ideig nem. A számláló változtatásával tudod állítani a villogás sebességét.
Az adatlapban benne van a TMR2 beállítása és a megszakítási folyamat is.
Ha gondot okoz az 1000-es számláló bontsd fel kettőre 1 százasra és egy tizesre, ekkor lesz egy 0,01 sec időzítőd is.

üdv. Foxi
Timer2 : m
(#) Kapagerenda válasza foxi63 hozzászólására (») Feb 12, 2014 /
 
Kösz a segítséget! Ezeket a belső perifériákat hogy kell alkalmazni? Valahogy a programban felkell tüntetni ezeket stb, de nemtudom hogyan.
(#) icserny válasza Kapagerenda hozzászólására (») Feb 12, 2014 /
 
PIC16F887-hez ezek a legalapvetőbb könyvek. Ingyen vannak, illik tehát elolvasni (különösen a mintapéldákat):
Milan Verle: PIC microcontrollers
Milan Verle: PIC Microcontrollers - Programming in C

Magyarul is van olvasnivaló, ha 50-szer nem linkeltük még be, akkor egyszer sem:
Közepes teljesítményű PIC mikrovezérlők Felhasználói Kézikönyv
A hozzászólás módosítva: Feb 12, 2014
(#) Kapagerenda válasza icserny hozzászólására (») Feb 12, 2014 /
 
Köszönöm, hogy 51- szer is belinkelted
(#) foxi63 válasza Kapagerenda hozzászólására (») Feb 12, 2014 /
 
Szia!
Megírtam neked, hogy tudjad tanulmányozni...

led.asm
    
(#) Kapagerenda válasza foxi63 hozzászólására (») Feb 13, 2014 /
 
Igy első ránézésre elég bonyolult, de azért kösz szépen majd tanulmányozgatom..
(#) Tomee hozzászólása Feb 22, 2014 /
 
Sziasztok!
A pic C programozásban jártas Uraktól kérdezném, hogyan lehet több filéből álló programot készteni?
Pl.: az egyik file-ban a főprogram és a többiben meg a kiszolgáló függvények vannak elkészítve?
Illetve a kiszolgáló függvények egymást használják? (külön van a késleltetés és az Lcd kezelés)

Most kezdtem C18-al ismerkedni és már az elején szeretném ezt is elsajátítani. Asm-ben soha sem sikerült összehozni a több forrás állomány kezelését, de itt az idő, hogy ez is meglegyen…
Üdv.
Következő: »»   52 / 66
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