Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   169 / 1320
(#) potyo válasza ccs hozzászólására (») Márc 11, 2008 /
 
Kb ennyiből áll a dolog, nem kell túl misztifikálni. Ha a buzzer csak tápot igényel, akkor egyszerűen rá kell kapcsolni a tápot, hogy szóljon. Ha meg kell neki frekvencia, akkor timerből kell a lábat ki-be kapcsolgatni vagy pwm jellel kell megküldeni.
(#) fookos válasza googa hozzászólására (») Márc 11, 2008 /
 
Megmértem, hogy mekkora áram folyik rajta stabil 5v-ra kötve (pár milliamper volt), és ezek után egy 330ohm-os ellenálláson keresztül kötöttem rá.

A gondolatmenetem az volt, hogy ha 20 mA-t bír egy láb, akkor az 5V-on 250 ohm. Ha 330 ohm-on keresztül kötöm be, akkor még egy rövidzár esetén sem szál ell a PIC.
(#) orokvesztes válasza kobold hozzászólására (») Márc 11, 2008 /
 
Sziasztok! Új vagyok még teljesen a PICes témában, tudom, hogy ezerszert lejárt téma, de PIC égető kellene. Házilag készíthető, lehetőleg filcel rajzolható, tehát kevés egyszerű alaktrésszzel, elég hogyha vana valakinek egy tuti linkje, fontos lenne a külső égetőfesz, mert elég új Fujitsu Siemens gépem van és nem akaródzik túl nagy feszkót kiköhögni a sorosporton, olyan 9,1Vkörül, onnan tudom hogy építette egy JDM kompatibilis égetőt ami egy jónagy elkót töltöget fel az égetés céljából de még egyszer sem sikerült írni vele, csak a jó sok nullát visszaolvasni, nekem úgy tűnik nincs különbség a programozás módja közt de én 16f818azt akarok fele égetni (azért nem a kalsszikus 16f84el kezdek, mert a tanuláson kívül más célom is van vele, és kell az 5 ADC port) Előre is köszi.
(#) potyo válasza orokvesztes hozzászólására (») Márc 11, 2008 /
 
Használhatnád a keresőt is és a helyesírás szabályait is, ami azt illeti!
(#) fookos válasza orokvesztes hozzászólására (») Márc 11, 2008 /
 
1.) Linux vagy WIN alá kellene?

2.) ha Linux, akkor használd ezt: picprog

3.) Az íráshoz használd ezt a parancssort:
picprog --slow --rdtsc --erase --burn --pic /dev/ttyS0 --ihx16 --input program.hex

4.) Ha WIN alá kellene, akkor használd a keresőt... kismillió leírás van
(#) sraczkovi hozzászólása Márc 11, 2008 /
 
Sziasztok
Kezdő PIC-es vagyok.A segitségeteket kérem.A NightPic V6.2 programom van.Windos XP alatt futtatnám. De nem igazán működik a dolog.Az Sp2 t feltelepítettem,az MPASWIN átmásoltam. Mégsem találja a program a hex.fájlt ha a H ablakot lekérdezem.Mit rontottam el?A HE 3 füzet első pl.programján már elakadtam.2007 elején már egyszer feladtam. Ha tudtok segítsetek.A PIC mikr.vez.alk. Dr.Kónya könyvet is forgattam,de eléggrögös az út.
sraczkovi
(#) Fixer_SH hozzászólása Márc 11, 2008 /
 
Hello srácok!

Nagy a baj! Van egy PicKit 2-m, tegnap még működött, ma már fel sem ismeri a flashelo progi amit adtak hozza.
Csak a zöld LED vilagit rajta kitartoan, de a programban:
"PICkit2 not found...." Az adott USB porton pendrive mukodik. Probaltam atdugni masik USB portra is, de ott sem jo.

Nem kotottem semmi keresztbe, rovidre rajta, csak a Debug express board-ot hasznaltam.
Mar nem uj, kb. fel eves. Mit gondoltok mi lenne megoldas?
Mivel mas egetom nincs, ezert csak garancias megoldasra tudok gondolni. Na igen, de Pécsről Bp.-re kb. 1200Ft-ért viszik... mondjuk meg mindig olcsobb, mint ha vennek egyet ujonan.

Valakinek ötlete esetleg?
Nem szedtem szet meg, hatha garanciaban el tudom intezni. Mondjuk, ahogy latszik, csak par pattintas az egesz.

Köszi!
Fixer

Mod: tul gyorsan kapkodtam (micsoda kepzavar...). csak ideges vagyok. No, szoval talaltam itt ebben a forumban is megoldast: egessem bele a progit, amit vagy Microchiptol, vagy ChipCad-tol tudok beszerezni... koszi... hogyan, ha nincs masik egetom. Vagy vegyek tartalekba egy masikat, es akkor majd felvaltva egetem egyikkel a masikat, ha kell?

Nem égő ez az égető-kérdés egy kicsit a MC-nak, ha ennyire sokan járnak vele így?
(#) Jobbagyag hozzászólása Márc 12, 2008 /
 
Jelentem teljes a siker EEPROM iras ügyben. A PIC nem felejt. Ami a gond volt amit mondtatok is többen, a változó (ELOBYTE) a BANK0-ban volt (20h-tól foglalva) és írás közben a másik BANK-ból nem látta. Akár a BANK0-ra váltás használata előtt, akár a CBLOCK 0x70 megoldotta a problémát. Ezúton köszönöm mindenkinek a tanácsokat!
(#) szilva válasza Fixer_SH hozzászólására (») Márc 12, 2008 /
 
Szia!

Két dolgot lehetne megtenni, mielőtt cserélteted a PICkit2-t (azt hiszem, volt már ezekről szó itt korábban):

- a rajta lévő gombot nyomva dugod be az USB-be, ilyenkor elvileg bootloader módban kell indulnia és a PICkit2 kezelőproginak annyira látnia kellene, hogy a "Download PICkit2 OS" menüponttal rátöltsd a firmware-t;

- szétpattintod a dobozát (rossz bankkártyával vagy régebbi SIM kártya plasztik "keretével", ami nem sérti a tokot), és megméred műszerrel, hogy a 18F2550 VUSB lábán (14-es) megvan-e a 3.3V - ha nincs, akkor valószínűleg kikapcsolódott a VREGEN config bit a PIC-ben, ilyenkor vagy egy 3.3ohm külső stabilizátor ideiglenes odapöttyintésével, vagy egy másik megoldás szerint a +5V-ról egy 470 ohm-mal odavezetett feszültséggel lehet életre kelteni egy firmware-programozás idejére.

(#) szilva hozzászólása Márc 12, 2008 /
 
Korábban volt szó itt a kvarcok pontosságáról. Összeraktam ezt a 16F946-os panelt az LCD kijelzővel, most egy kezdetleges óraprogi fut rajta, aminek az időalapját egy 32768Hz-es, 10ppm-es órakvarc adja (talán 35Ft volt). Tegnap este 9 óta megy, most reggel is ugyanúgy a win másodpercmutatójával együtt lépked, mint ahogy este tette. MHz-es nagyságrendű órajel-kvarcokra alapozva eddig sosem értem el ilyen pontosságot.
(#) szilva válasza szilva hozzászólására (») Márc 12, 2008 /
 
Hülyeséget írtam: természetesen 3.3V külső stabilizátorról van szó, vagy ezt helyettesítendő egy 470 ohm-os ellenállásról (a firmware feltöltés után ezeket le kell szedni).
(#) Fixer_SH válasza szilva hozzászólására (») Márc 12, 2008 /
 
Hi!

Köszi az ötleteket!
Ki is próbáltam a pirosgomb-megnyomva radugos megoldast. Erre a zold LED vilagit + a piros "busy" LED villog, de a PICkit2 progi nem ismeri fel.
Akkor marad az "kulon tapot adunk neki" verzio, de ezt majd csak este probalom ki.

Köszi!

Fixer
(#) Fixer_SH válasza szilva hozzászólására (») Márc 12, 2008 /
 
hi!

Megneztem a 18f2550 doksijat. A 169. oldalon talaltam is bar szot a VREGEN-rol, de van ott egy ilyen note:

"Note 1: Do not enable the internal regulator if an
external regulator is connected to VUSB."

Nem ketelkedek benne, hogy ertesz hozza, csak nekem most ugy allt ossze a kep, hogy ha en adok a 14-es labra 3.3V-ot, beegetem a progit a PIC-be, az utana nekiall futni (VREGEN aktiv lesz es kiadja a 3.3V-ot a 14-es labon) es a kulso 3.3V meg mindig ott lesz, akkor ott csudavilag tortenik. Ha nem is atomrobbanas, de az mindenkeppen, hogy a fenti Note-tal ellenteteset cselekedtem, ami lehet, hogy nem egeszseges a PIC-nek.

Mindenesetre az biztato, hogy a gombnyomvatartosan radugaskor a busy LED villogni kezdett, tehat "valami" mukodik még a kütyüben

Fixer
(#) sszasza hozzászólása Márc 12, 2008 /
 
Erősitsetek (vagy cáfoljatok) meg lécci hogy jól gondolom: 18as piccel sem frekvencia sem periódusidő mérést nem lehet teljesen precizen végezni.
(Capture-nél kis frekvencián a 64k atlepest nem lehet detektalni, ha pedig vmi megszakitasos módszer van ott az eltérő válaszidő miatt bizonytalan)
(#) trudnai válasza sszasza hozzászólására (») Márc 12, 2008 /
 
Ezt nem egeszen ertem, miert ne lehetne a 64k atlepest detektalni? TIMER1 eseteben a PIR1,TMR1IF, TIMER3 eseteben pedig a PIR2,TMR3IF bebillen ha tulcsordulas van.

Namost ezt vagy polozassal kerdezgeted, vagy a hozzajuk tartozo IE-t engedelyezed es akkor ugye megtortenik az interrupt. Valojaban az senkit sem erdekel, hogy ez mikor tortenik meg, kiveve, hogy meg mielott a kovetkezo tulcsordulas megtortenik ezt ki kell olvasni es torolni kell hogy detektalni lehessen a kovetkezo esemenyt is...

Nem igazan ertem ez miert problema, egyik baratom 60-70MHz-eket mer 18F-el. O amugy mar nyugdijas de egy meglehetosen tapasztalt mernok es radio amator, rengeteg radiot epitett mar, es ha o azt mondja szamara kielegitoen jol mukodik az a freki szamlalo akkor elhiszem - jomagam nem kiserleteztem ezekkel es nem hitelesitettem ilyen muszereket.
(#) kobold válasza szilva hozzászólására (») Márc 12, 2008 /
 
Az egész procit erről az órajelről hajtod, vagy csináltál neki valami CMOS-os előtagot, és úgy vitted be egy bemeneten?
(#) Csaplar hozzászólása Márc 12, 2008 /
 
Sziasztok!

Lenne egy kérdésem!

Van ez a képlet:
I2C clock = FOSC/(4*(SSPADD+1))

És egy mintában az alábbi beállítás szerepel:
SSPADD = 49;

Ez 100Khz-es I2C clock esetén van!

Honnan jön ez a 100Khz ? Ez egy általánosan bevállt dolog, vagy van valami konkrétum mögötte.

Az óra IC, amivel kommunikálok max 400Khz-et tud...

Köszi a választ!

Zoli
(#) potyo válasza Csaplar hozzászólására (») Márc 12, 2008 /
 
Onnan van, hogy az első I2C szabvány 100kHz órajelet adott meg, hogy azt minden eszköznek tudnia kell. Későbbi szabványban ezt megemelték 400kHz-re, majd mégkésőbbiben mégnagyobbra.

Idézet:
„Az óra IC, amivel kommunikálok max 400Khz-et tud”

Ami azt jelenti, hogy alacsonyabb órajellel semmi gond, de 400kHz felett már nem garantálják a működését.
(#) Csaplar válasza potyo hozzászólására (») Márc 12, 2008 /
 
Köszönöm szépen!
(#) sszasza válasza trudnai hozzászólására (») Márc 12, 2008 /
 
Capture akkor periódusidő mérésről beszélünk. Itt a nulla környezetében vannak problémák, mégpedig az első capture-nél.
pl FFFE, cap megszakitásrutin indul(tárolni kell az értéket). A rutin elején vagy kénytelen engedélyezni a T1 megszakitást, ami majd egy számlálót léptetne mint 3.byte-ot. (clr IF, set IE). Igen ám de közben befutott a T1 megszak és te ezzel szépen törölted. Innentől nem tudod eldönteni ha 1 nél több kört ment a számláló. (Az 1 még látszik ha végiggondolod, de pl 2 v 3 közt már nem tudsz különbséget tenni).
B verzió: már előbb engedélyezed a T1 megszakitást (és a 3 byte számlálóját) és a cap1mexben csak a számlálót törlöd. A fenti esetben ez sem segit.
C verzió: nem tudom milyen verzió van még.
(#) szilva válasza kobold hozzászólására (») Márc 12, 2008 /
 
Próbáltam erről 32kHz-ről is járatni az egész procit, ment is szépen. Egyetlen bajom volt vele, hogy a timer1 reinit-nél a timer1 órajelénél lassabb utasításvégrehajtás közbeszólt és késett az óra.

Ezért most azt találtam ki, hogy 1MHz internal clock-ról jár a PIC, már amikor egyáltalán jár, mert az ideje 99.9%-át sleep-ben tölti. Reggel azt mértem - nem akartam hinni a szememnek - hogy miközben az óra járt, 6uA áramot "zabált" az egész cucc a három ceruzaelemről. Számításaim szerint (1Ah-s kapacitást eltételezve) olyan 20 évig jár egy garnitúrával az óra
(#) kobold válasza szilva hozzászólására (») Márc 12, 2008 /
 
Nem semmi fogyasztás, kár, hogy az elem nem bírja addig
Ez a timer1 reinit-es téma azt jelenti, hogy a késést az időzítő regiszterének írása okozta, vagy valami más?
(#) trudnai válasza sszasza hozzászólására (») Márc 12, 2008 /
 
Ne haragudj, lehet lassu vagyok, de nem ertem a dilemmadat. Most akkor a timer1-el akarsz vacakolni vagy CCP modult capture modra kapcsolod? Es akkor mire szeretnel megszakitast, timerre vagy ha a caputure event megtortent? Vagy esetleg a caputre event hoszabb lenne mint amit a timer1 ki tud merni? Eloosztast mekkorara allitottad?

A "pl FFFE" azt jelenti, hogy timer1 FFFE-n all a capture event bekovetkeztekor? Mert az neked eltarolodik de ezt nyilvan tudod, csak en nem ertem hol a gond?
(#) potyo válasza szilva hozzászólására (») Márc 12, 2008 /
 
Én csak azt nem értem, hogy mi akar lenni az a reinit? Az előbb azt írtad, 32768Hz-es kvarcról járatod, az kettőnek egész számú hatványa, tehát elvileg nem kell kezdőértéket állítani a timernek. A 32kHz is osztható 256-al, ott sem kell kezdőértéket állítani...
(#) trudnai válasza potyo hozzászólására (») Márc 12, 2008 /
 
Bocsanat, hogy kozbe szolok, csak nekem tegnap ezt elmondta es most kibeszelem a muhely titkait

32kHz kvarznal a 16 bit mar tul hosszu lenne, 2 mp-enkent adna megszakitast, ami perc kijelzesnel okes, de masodpernel nem... ezert timer1-et inicializalni kell minden felebredes utan... De majd Szilva leirja ezt pontosabban.
(#) potyo válasza trudnai hozzászólására (») Márc 12, 2008 /
 
Ja tényleg, timer1 az 16 bites... De elvileg ha a TMR1H regiszterbe az előtt beletöltünk 0xFF-t, mielőtt a TMR1L túlcsordulna, akkor egész jól használható 8 bites timerként.
(#) sszasza válasza trudnai hozzászólására (») Márc 12, 2008 /
 
Hátulról kezdem. Igen, és valóban eltárolódik a CCP1H,L-be. Innen gyorsan el kell mentenem hogy a köv. capture (ami szintén ide tárol) ne irja felül, illetve hogy annak értékből ki tudjam vonni. Ez egy periodusidő.
Ja és igen, a periodusidő kb 1us - 3/400ms közt változhat.
De ezek csak mellékkörülmények, de ne haragudj, most nagyon fáradt vagyok, nem tudom jobban elmagyarázni a fő problémát, mint a 194157ben.
(#) trudnai válasza potyo hozzászólására (») Márc 12, 2008 /
 
Persze, kb ilyesmit csinal o is, csak nem FF hanem pl 0x80 akkor mar csak 1mp-es alvasok vannak, vagy ha 0xC0 akkor fel, es akkor lehet a kettospontot is villogtatni
(#) szilva válasza Fixer_SH hozzászólására (») Márc 12, 2008 /
 
Igen, jól gondolod, de ez csak egy szükségmegoldás az újraélesztéshez.

Ezt a megoldást én is csak olvastam egy fórumon, állítólag többeknél bevált. Persze előbb ellenőrizni kell a VUSB lábat, hogy valóban ez okozza-e a gondot, ti. hogy nincs meg az USB-nek a 3.3V.
(#) szilva válasza potyo hozzászólására (») Márc 12, 2008 /
 
A timer1 16 bites, ha csak hagyom szabadon futni, akkor pont 2 másodpercenként következik be az interrupt. Persze ez sem rossz, de pl. a kettőspont villogtatásához is túl lassú, meg ha másodperckijelzést is akarok, akkor elgé hülyén nézne ki a kettesével lépkedés

Az 1Hz-re az a legtutibb megoldás (szerintem), hogy a timer1h legfelső bitjét minden timer1 interruptban bebillentem, így az alsó bitekbe időközben belepörgött értéket nem rontom el. Hasonló megfontolásból a progim most a legfelső 5 bitet állítja 1-esbe egy iorwf-fel, így 16/sec. megszakítási ütemet kapok. Ezekben a megszakításokban kezelem a billentyűk pergésmentesítését és a nyomvatartott billentyűk ismételtetését is.
Következő: »»   169 / 1320
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