Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Szia,
Picit konkretabbnak kellene lenni, hogy valaszolni tudjunk. Eloszor is, pickit2-d van, azzal is lehet debuggolni, tehat nem tiszta, hogy most akkor szimulatorra vagy apickit2-re gondolsz mikor "debugger modra" hivatkozol. Masodszor, valos kornyezetben szamolni kell azzal, hogy az aramkor hogyan van felepitve, milyen korulmenyek kozott van uzemeltetve (pl tapfesz forras milyen stb). Egyszoval kellene latni a kapcs rajzot is, es nyilvan a teszt programot is ami nem mukodik. Harmadszor azt sem irtad le mi az amit csinalnia kellene, es mit csinal helyette vagy mit nem csinal?
Szia!
A hibakereséshez Debug, az önnálló működéshez Release verziót kell fordítani ill. beégetni. Szia
Szia,
Koszi a gyors valaszod, de valahogy ebbol en most nem tudom hogy mit kellene csinaljak. Igy nez ki az en kodom:
Hi-Tech ANSI C Compillert v9.70 hasznalok, ja es be van rakva a header fajlhoz a megfelelo file. Udv, Andras
Szia!
Az MpLab menüsora alatt lehet beállítani, hogy a kódot javítani, nyomonkövetni (Debug) szeretnénk vagy végleges (Release) verzió készül. Szia
Ha ez 8 bites PIC-en fut, akkor nincs értelme! PORTD értéke sohasem lesz 256, mert nincs annyi bitje! Automatikusan nullára vált...
Üdv!
Ha PIC-hez külső órajelforrást szeretnék használni azt pontosan hogyan kell megvalósítani? Odáig rendben van, hogy a kvarcot rákötöm a megfelelő lábakra + a két kondit a föld felé, de programba hogyan lehet megvalósítani? Miket kell átállítani? ja és van valami határ hogy milyen PIC-hez mekkora frekvenciájú kvarcot lehet használni, vagy akármekkora lehet? Előre is köszi!
Adatlap! Olvasd el a kérdéses PIC ide vonatkozó adatait!
Megnéztem az adatlapot, már csak az a baj, hogy az angoltudásom meglehetősen gyér...
A számok és a mértékegységek, valamint a rajzok "magyarul" vannak! Ha ezt nem érted, akkor előbb tanuld meg a nyelvet(az elektronika nyelvét is). Egyébként csak kínlódás lesz...
Szia,
Atvaltottam Release-re ahol mutattad a kepeken, ujra buildoltam mindent. Ezutan exportaltam az adott hexfilet az MPLab-bol, majd a PICKit-el beleirtam a chipbe. Iras kozben bepipalatlan az ON es a /MCLR. Iras utan rakapcsolom az ON-t es felgyul minden led. Ha bekapcsolom a /MCLR-t is akkor meg elalszanak. Amugy az en programom egy szamlalo kellene legyen es a ledek az szerint kellene gyuljanak aludjanak ahogy o elszamol 256-ig nem? Es megsem ez tortenik. Udv, Andras U.I. icserny kivettem az if-et a progimbol
Szia!
Nem az if-fel volt a baj, hanem a 256-os értékkel egy egyszerű ok miatt, de ha nem világos ez az ok, akkor talán az alapokhoz kellen előbb visszatérni... Idézet: „az en programom egy szamlalo kellene legyen es a ledek az szerint kellene gyuljanak aludjanak ahogy o elszamol 256-ig nem?” Hát nem. Az a fontos dolog hiányzik belőle, ami számlálást ismét, és ismét (egy meghatározott ismétlési számig vagy a végtelenségig) végrehajtaná. (Egyébként, ha csak ez a cél, az if tényleg felesleges bele )
Kellene bele még egy
while(1) is. A másik dolog, hogy olyan gyorsan fognak a ledek villogni, hogy nem fogod látni. Így kelleni fog bele valamilyen delay is.
Szia!
Mérd meg a kimeneteket oszcilloszkóppal - látni fogod, hogy villognak. Ha nincs kéznél, akkor feszültségmérővel is ledönthető, hogy villog vagy folyamatosan világít. Ha villog a feszöltség a pic lábán kb. a tápfeszültség fele, ha folyamatosan világít, akkor a bekötéstől függően a táp feszültsége vagy a nulla körüli érték (A műszer átlagol). Szia
Szia,
Nem tudnal mondani egy peldat hogy Hi-Tech C compilerben hogy van a delay? Harom napja foglalkozom a PIC-ekkel, eletemben eloszor ezert nehezkes megindulnom rajta. Ezert is akarom meg egyelore csak annyit csinalni hogy a ledek pillogjanak. Van ez a teszt plaka, amin vannak a ledek. PORTD-n 8 db, ami meg a plakan van: egy potencio meter es egy gomb, meg nem tudom hogy melyik porton. Es miert van az hogyha en rairom a chipre ezt a programot es ON-t adok neki akkor kigyul az osszes led? Udv, Andras
Szia,
Meromuszerem csak egy multimeterem van. Vegulis ennek a kittnek kellene mukodnie, nem itthoni epitesu hanem egy teljes PICkit amit meg lehet vasarolni az uzletbol, ezert gondolom nincs szukseg arra hogy kimerjem. Egyszeruen nekem most csak annyi a celom hogy csinaljak egy alap programot ami mukodik, hogy lassam hogyan kell beleegetni a chipbe es hogyan kell azt elinditani, a tobbi dolgot majd csak lassan lassan. Udv, Andras
Szia,
Mármint úgy értettem hogy kivettem az egész if-es részt a programból Üdv, András
Szia!
Idézet: --> „Egyszeruen nekem most csak annyi a celom hogy csinaljak egy alap programot ami mukodik, hogy lassam hogyan kell beleegetni a chipbe es hogyan kell azt elinditani” Ezt úgy kezd, hogy csak 1 LED-et akarj bekapcsolni a PIC indulásával egyidőben ( ne egyből számlálót akarj készíteni, ha nem vagy tisztában a konfigurációs bitek, a letöltési procedúra és a szoftverkörnyezet utasításaival!), mintha a LED rá lenne kötve a tápra, csak a PIC kapcsolja fel! Steve Idézet: „Vegulis ennek a kittnek kellene mukodnie, nem itthoni epitesu hanem egy teljes PICkit amit meg lehet vasarolni az uzletbol, ezert gondolom nincs szukseg arra hogy kimerjem.” Olvasd el újból amit választ kaptál, és próbáld megérteni miért és mit kell kimérni. Annyit segítek, hogy nem a kittedet és nem azért mert gyári vagy nem! Van kérdésem is: Értesz az elektronikához? Programoztál már bármit ezelőtt?
Szia,
Sok közöm nincsen az elektronikához. Egyetemen, laborokon programoztunk még Atmega8-asokat, AVR Studioban azt hiszem. De azt is pár órán csak. És aminek sok köze nincs a PIC-hez ahogy észrevettem. Azért kellene megmérnem hogy lássam azt hogy egyszerüen égnek a ledek vagy olyan gyorsan pillognak hogy az emberi szem úgy itéli meg mintha folyamatosan égne. Nem ez lett volna a lényege? Ha igen akkór én egy olyan progit szeretnék irni ami biztosra nem olyan gyorsan villogtatja a ledeket hogy azokat úgy lássuk mintha folyamatosan égnének. Üdv, András Idézet: „Sok közöm nincsen az elektronikához.” Ez elég nagy baj, mert ez színtiszta elektronika. Idézet: „Azért kellene megmérnem hogy lássam azt hogy egyszerüen égnek a ledek vagy olyan gyorsan pillognak” Igen, pontosan. Idézet: „én egy olyan progit szeretnék irni ami biztosra nem olyan gyorsan villogtatja a ledeket” Akkor tegyél be időzítéseket a ki és bekapcsolások közé. A programnyelvhez biztosan van leírás, keresd meg a helyes szintaktikát. Ha nem találod, akkor tegyél for ciklusokat, jó sokat!
Szia,
Na sikerült megoldanom azt hogy amelyik LED-et akarom felgyújtani az égjen Na most akkor mehetünk tovább Kellene nekem egy delay függvény, megszeretném csinálni a következő dolgot: villogjanak a LED-ek és olyan gyorsan ahogy a potenció métert csavarom, annak függvényében lasabban vagy gyorsabban. Üdv, András
Szia,
Oké rajta vagyok most ezen. Amúgy egy 1000-es for ciklus megfelel 1 másodpercnek? Üdv, András
Nem valószínű! Kicsit lassú lenne a PIC, ha megfelelne... Kicsit próbálj utánanézni a PIC működésének!
Ne siess annyira, megvár
Először "csak" próbáld villogtatni, aztán a villogás frekvenciáját változtasd, azután ismerd meg az AD-t, majd kapcsold össze az AD-t a villogós progival, kb. ezek a lépések kellenek! Ha valamennyit programoztál már, akkor tudnod kell, hogy részeket írunk meg és tesztelünk, abból írjuk meg a progit ( csak a gyakorlás révén éred el azt, hogy egyszerre már nagyobb részeket is meg tudsz írni, de jelen esetben erről még ne beszéljünk...!)! Az AVR utasításai mások, de programozási szempontból hellyel-közzel azonosnak tekinthető ( be-kimeneteket kell ott is meghatározni, perifériákat lehet SFR regiszterekkel működtetni, byte-os szervezésű, stb. ) és ott is BIBLIA az adatlap!!! Steve
Nézd csak, itt egy időzítő szubrutin:
Én ezt használom. Az A/D konverzióig még nem jutottam el sajnos. Idézet: „...Hi-Tech C compilerben hogy van a delay?” Ha már így "neki ugrottál" a Hi-tech C-nek, a telepítési könyvtárában találsz egy "docs" nevű könyvtárat, amiben, pl. erre a kérdésedre is van válasz...
Szia,
Hát végülis olyan 20000 for ciklusra saccolnám az egy másodpercet. Elég gyorsnak tünik ez a PIC. Üdv, András
El kellene olvasni a fordító dokumantációját!
__delay_ms() és __delay_us() könyvtári függvények...
Szia,
Megvan már a villogtatás Nagy örömömre, látok is valamit mostmár abból amit idáig csak a fejemben tudtam elképzelni. Megcsináltam a KnightRider autójának is a LED-es beszélgetésének az animációját. Most arra lennék kiváncsi hogy honnan tudhatom meg, miből hogy a potiméter valyon melyik bemenetre van rákötve? A PIC-em adatlapja megvan, de maga a plákáé nincsen. Üdv, András
Szia,
Köszi a program részletet, de nem Assemblerben szeretnék programozni hanem C-ben, kicsit az otthoniasabb nekem. Üdv, András |
Bejelentkezés
Hirdetés |