- AMD Navi Radeon™ RX 9xxx sorozat
- Gaming notebook topik
- Projektor topic
- Házimozi és Hifi kábelezés!
- Nvidia GPU-k jövője - amit tudni vélünk
- Azonnali alaplapos kérdések órája
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Milyen videókártyát?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen asztali médialejátszót?
Új hozzászólás Aktív témák
-
And
veterán
válasz
Fortitude444 #118 üzenetére
Hi! Jól előbányásztad ezt az évek óta tetszhalott topikot.
"Milyen eszközök kellenek ahhoz, hogy tudjak itthon programozni mikrovezérlőt?
(Ha jóltudom csak egy pickit adapter és maga a mikrovezérlő.)"
Ez így túlzottan általános. Először is, az égető hardver nem csupán PICkit (manapság a 3. verziónál tartanak) lehet, hanem egy csomó másik is. Persze egy PICkit3 klón manapság nem túl drága, és elég sok típust lehet vele égetni. A szoftver oldal is elkülöníthető fordítóra és égetőre. Van olyan szoftver, amelyik mindkét funkciót támogatja (pl. maga az MPLAB-X, vagy a régebbi verziója, az MPLAB IDE), azért ezeknek lehetnek korlátai, például az, hogy nem ismeri a kedvenc fordítónkat, vagy az nem tökéletesen integrálható be MPLAB alá. Vannak olyan cégek is, amelyek többféle nyelvű fordítót is gyártanak (pl. a MikroElektronika), és égetőt is kezelnek, de csak a sajátjukat. Tehát az emberfia néha kénytelen külön fordító- és égetőszoftvert használni. Régebben léteztek relatív egyszerű égetőhardver kapcsolások is COM- vagy LPT-portra, de ezek e szimpla portok illetve a WinXP eltűnésével eléggé kikoptak.
"Milyen típusú mikrovezérlővel lenne jó elkezdeni programozni tanulni"
Kezdéshez nyilván valami egyszerű, kevés lábszámú, 8-bites típus ajánlott például a 16F-sorozatból. Az sem árt, ha van valami konkrét elképzelésed, mert ugyan típuscsaládon belül az alapszintű működés hasonló az egyes típusok között, az integrált perifériák számában és típusában (ADC, MSSP, USART, komparátor, CCP-modul, stb.) jelentős eltérések lehetnek, és ha azok valamelyikét szeretnéd alkalmazni, akkor - előismeret nélkül - annak alaposan utána kell olvasni, és ez nem kizárólag a kontroller adatlapját jelenti.
"Esetleg Győr környékén valaki tud áruházat, ahol ezeket belehetne szerezni?"
A külföldi aukciós oldalak és hazai forgalmazók csomagküldő szolgáltatása mellett nem muszáj a környékbeli beszerzési lehetőségekre alapozni.
A témában egyébként inkább javasolnám más, jóval testre szabottabb, pörgősebb és bővebb oldalak túrását, mint például a HobbiElektronika.hu fórumait. -
And
veterán
válasz
Ricsirics #105 üzenetére
IC-Prog: [link], WinPic: [link]. Előbbi beállítása nem nagy ügy, ebben a topikban is volt szó róla kb. 15-20 hozzászólással korábban: hardware settings menü -> programozóhardver kiválasztása, 'Windows API' interface (alapesetben), valamint a communication-beállításoknál az 'Invert MCLR' ill. 'Invert Vcc' aktiválása, ha az eredeti rajz (a #104-es hsz. linkje) szerint csinálod meg a kapcsolást. A programozható PIC-ek listája az IC-Prog oldalain megtalálható, egyéb hasznos információkkal kiegészítve. (Első lépés úgyis a hardver megépítése, az égetés szoftveroldala már egyszerűbb..)
-
And
veterán
-
-
And
veterán
Amilyen nyelven tetszik, ha találsz hozzá megfelelő fordítót. Alapeset a natív assembly (a PIC16F-sorozatnál ez csupán 35 utasítást jelent): a Microchip ingyenes fejlesztőkörnyezete, az MPLAB ezt támogatja. Létezik többféle C-, Basic- és Pascal-compiler is, de ezek - néhány kivételtől eltekintve - általában nem ingyenesek.
-
And
veterán
válasz
kovacstibor79 #91 üzenetére
A párhuzamos port beállítása lényegtelen, az égetőnek standard (SPP-) módban is kell működnie. A hardware check menüvel végignézted a feszültségeket? Beleértve a data / clock kimenetek vizsgálatát is pl. a programozó foglalat 39, 40-es lábain; utóbbiak méréséhez az 'Enable Vcc'-t is engedélyezni kell. Ha ott minden rendben, próbálkozhatsz még az I/O delay jó magas, akár maximális értékre állításával a hardverbeállításoknál. Ezzel a lassítással - foglalatban v. rövid ICSP-kábellel - és az általad is leírtakat betartva már illene működnie.
(Közben szinte teljesen átszoktam a WinPic /[link]/ nevű, szintén free programra. Kicsit körülményesebb beállítani, merthogy még jobban paraméterezhető mint az IcProg. De ha egyszer belőtted, sokkal korrektebb. Alapszinten ellenőrizni tudja az égetőhardver inicializálását, definíciós fájlok segítségével szinte bármilyen bekötésű és vezérlőjel fázisú soros v. párhuzamos portos égetőt tud kezelni. Képes a Device-ID Word /PIC típus azonosító/ kiolvasására is, és mindenféle üzenetekkel tudja bombázni a júzert. Sajnos a ProPic2 hardver beállításait tartalmazó .ini fájlja hibás - bele is írták, hogy 'Never tested..'-, de az interface típusnál ''Tait, 7407 (driver) + PNP transistor'' beállítással működik, ill. lehet, hogy az újabb verzióknál már azt az ini-t is javították.
A 16F818-at az IcProg-gal például egyáltalán nem tudtam programozni, pedig elvileg támogatja.) -
And
veterán
válasz
kovidinka #86 üzenetére
Direct I/O-val is működik, de a program könyvtárába be kell másolni a driver fájlt (''icprog.sys'', itt találod IC-Prog NT/2000 driver néven: [link]), majd az Options -> Misc menüben be kell jelölni az ''Enable NT/2000/XP Driver'' opciót. Újraindítás után már nem szabad hibát adnia. Az I/O Delay értékét hibakereséskor sokkal nagyobbra is teheted, mint az alapértelmezett 4, és az Options menüben a Process Priority értéke is lehet High.
A ''hardware check'' menüben tudod ellenőrizni az MCLR / Vcc tápok meglétét: akkor szabad csak megjelenniük a megfelelő kivezetéseken, amikor engedélyezed azokat. Ha tesztelésnél pont akkor mérhetőek, amikor a tesztnél a pipát kiveszed, akkor a fázisukat meg kell fordítani a ''hardware settings'' menüben. Sőt, ha igaz, a sima JDM-programozó esetén a Vcc-t nem is tudod kapcsolgatni, csak a módosított, kapcsolófetet is tartalmazó ([link]) kivitelnél.
MCLR-en 5.6V-os feszültséget írtál, de annak programozáskor és a kód visszaolvasásakor (meg természetesen a Hw. check menüben tesztelésnél) 13V körülinek kellene lennie. Ha nem annyi, a normál módú égetés / olvasás nem fog működni.
(Mod: tudod módosítani a hozzászólásodat, az elküldéstől számított pár percen belül. Addig van ott a piros mod gomb a hsz. elején.)
[Szerkesztve] -
And
veterán
válasz
kovidinka #83 üzenetére
Win XP? Írás közbeni és/vagy utáni ellenőrzés adja a hibát (Settings -> options -> programming menü)? Milyen interface-t használsz (Direct I/O vagy Windows API) és mekkora az I/O delay értéke? Próbálkoztál-e már a Vpp (MCLR), Vdd tápfeszültségek vagy az adat- és órajelek fázisának invertálásával (Settings -> Hardware)? Hardware check menüben minden ok, rámértél a hardverre?
-
And
veterán
válasz
kovacstibor79 #81 üzenetére
Egy appnote a Microchip-től HD44780-kompatibilis eszközhöz: [link]. Elég bő lére van eresztve, de a lényeg valszeg leszűrhető belőle. (Mondjuk ilyeneket biztos nem írnék assemly-ben, de ha egyszer megjegyzi az ember, többet nem lesz gondja vele..)
Ezekre kell minimum odafigyelni:
- Inicializálás: 4 v. 8-bites transzfer mód és 1 / 2 / 4 soros kijelzés helyes beállítása, kellő powerup-késleltetés,
- Időzítések betartása, vagy bármilyen parancs után a busy flag lekérdezése,
- Bekötés: az adatbitek egy komplett 8-bites portot, vagy 4-bites mód esetén lehetőleg annak alsó vagy felső 4 bitjét foglalják el. Ha a modulból nem akarsz olvasni (busy flag -et sem), az R/W-jel GND-re köthető, és a modul a proc felől 6 vezetéken kezelhető,
- Kontraszt potméter (vagyis a V(0), LCD-feszültség) beállítása: ha nem megfelelő, sokat lehet szívni vele. Előfordulhat hogy a hardver/szoftver jó, csak éppen a rossz kontrasztbeállítás miatt nem látsz semmit. Ráadásul pl. kétsoros display-módnál máshol van a helyes beállítás, mint egysorosnál. -
And
veterán
Létezik USB-s párhuzamos port átalakító (kábel + némi áramkör) nem túl drágán, azzal talán működhet egy eredetileg LPT-s égetőhardver, ha az átalakítóhoz normális drivert adnak (megoldható vele például a portcímzés). Mivel a ProPic2, meg több más párhuzamos portra csatlakozó égető is a párhuzamos port 'ACK' nevű jelvezetékét használja az adatok PC felé továbbítására, ezért még a bővített módú (ECP, EPP) LPT-portok beállítására sincs feltétlenül szüksége egy ilyen égetőnek, elegendő neki a standard párhuzamos port is.
-
And
veterán
Halihó! Kezdésnek, ha egy kicsit is konyítasz az elektronikához, nem javaslom külön programozóhardver beszerzését. Egy bedugdosós próbapanel, néhány tesztpéldány a kívánt típusú kontrollerből, rezgőkvarc, miegyéb természetesen nem árthat. Égetőleírást száz + 1 félét találhatsz a neten. Az alapverziók koncepciója meglehetősen hasonló: végy egy párhuzamos LPT (esetleg soros RS232) portot, 1-2 stabkockát, tranzisztort meg TTL-puffer IC-t, és a lényeg már meg is van. Jó, nem egy jtag (Atmel-esek itt előnyben), de azért nem olyan halálosan bonyolult. Példák: [link], [link], és hasonlók, de akár egy kicsivel univerzálisabbat is összedobhatsz, ami nem feltétlenül jelent sokkal több alkatrészt, pl.: [link]. Az biztos, hogy a 16F84 -eshez a létező legegyszerűbb JDM, vagy David Tait-féle hardver is megteszi. Hozzájuk való free kezelőszoftvereket már említettük korábban, pl. IcProg ([link]).
Fejlesztőprogram: ha ingyenes és viszonylag sokrétű kell, akkor a Microchip-féle Mplab-ot (manapság Mplab IDE) javaslom, de azzal alapesetben csak assembly nyelven tudsz programozni. Szép nagy helpje van, hozzá tutorial, úgyhogy csak tessék.. Ha kicsit gyorsabban szeretnél sikereket elérni (vagy olyan antitalentum programozó vagy, mint mondjuk én), akkor megpróbálkozhatsz valamilyen PicBasic használatával (többféle is létezik), vagy akár egy C-fordítóval is. Utóbbiból nagyobb eséllyel találsz ingyenes verziót. -
And
veterán
válasz
kovacstibor79 #67 üzenetére
Akkor már nem írtam hiába ;P. A 18F452 is szerepel az IC-Prog által támogatott eszközök közt ([link]), ugyanazzal a felszólítással, mint a 16F877-nél: Pull PGM to GND!
-
And
veterán
válasz
kovacstibor79 #63 üzenetére
Ok, de lényeges kábel alatt nem a párhuzamos kábelt értem, hanem az égető és a felprogramozandó chip közötti programozókábelt (ICSP, ha van egyáltalán, és nem foglalatban programozol). ICProg működik WinXP alatt, van hozzá egy külön driver, egy .sys fájl, amit meg kell etetni vele a beállítások között, és azzal megy.
''Igen rögtön az írás után kiolvasva 0000 értéket kapok.''
Arra voltam kíváncsi, hogy csak törlés után mit olvasol vissza, mert abban az esetben 3FFFh értékeket kellene látnod (szűz, gyári chipeknél előfordul a 0000h is, de törlés után már nem). Érdekes lehet még, hogy chip nélkül, ''üresen'' mit olvas a program az égetőből, mert akkor sem nullákat kéne látnod, hanem 3FFFh értékeket. Az ICProg-nál például invertálni kell az adat- és órajelek fázisát, hogy normálisan menjen (hardverfüggő a dolog, az eredeti Propic2 rajz szerinti megvalósításnál mindenképpen így van).
PGM: 16F87x sorozatnál pl. az RB3 (PortB.3) láb a PGM, de az adatlapon biztosan megtalálod (csak olyan típusoknál találod meg, amelyeknél lehetőség van alacsony feszültségű programozási módra, LVP-re).
[Szerkesztve] -
And
veterán
válasz
kovacstibor79 #61 üzenetére
Nekem is Propic2 égetőm van, de a saját programját nem szeretem, ráadásul - a korlátozás nélküli verzióért - fizetni kell. Javaslom, hogy nézz körül az ingyenes IcProg égetőprogram oldalain: [link]. Ott ugyanis leírják, hogy milyen apróbb módosítások szükségesek pl. a 16F8xx vagy a 16F62x sorozat programozásához (PGM-láb 0V-ra kötése). Ez a progi gond nélkül kezeli a Propic2-est, meg egy rakás másik égetőt is, hasonlóan a WinPic nevű, szintén ingyenes alkalmazáshoz.
A hibát okozhatja pl. a fent leírt módosítás hiánya, rossz időzítés (az IcProg-ban van lehetőség ennek finomhangolására is), hosszú programozókábel (karos foglalatú égető és DIP-tokos uC esetén ez persze szóba sem jöhet), de akár a kódvédelem beállítása is. Ha rögtön a törlés után olvasod ki a tartalmat, akkor is csupa 0000-át kapsz? -
And
veterán
Milyen az a rádiós rendszer? Egyébként én nem hiszem, hogy egy ilyen rendszer végleg az örök bitmezőkre küldhet egy kontrolleres áramkört, vagy magát a proc-ot. Ahhoz azért nem kevés RF-energia kellene. Zavart éppen okozhat, ha nincs megfelelően árnyékolva az a kártya és/vagy közel van a zavarforráshoz, de a végleges meghibásodás ettől szvsz. nem valószínű.
-
-
And
veterán
Hi! Nem kéne esetleg megvárnod az írás befejezését minden bájt után? Az EEPROM írása elég időigényes folyamat (néhány ms), amit ki kell várnod, mielőtt újra írni szeretnél. Te rögtön az írási parancs (bsf EECON1, WR) után visszatérsz a szubrutinból, és elindítod a következő ciklust. Szerintem be kellene iktatnod egy feltételt, amely megvárja az EECON1 regiszter WR-bitjének 0-ba állását (vagy az EEIF 1-be billenését, de azt - a WR-rel ellentétben - szoftverből kell visszaállítanod).
-
And
veterán
válasz
oregharcos #45 üzenetére
Vannak basic forrásaid, amiket szeretnél fordítani / égetni, ezt említetted. Nem te írtad, ok, de nem is fordul le. Lehet tudni, hogy miért akad meg?
Első közelítésként azt javaslom, hogy - ha még nem tetted volna - tanulmányozd át néhány nem túl régi, ma is népszerű, olcsó flash-es PIC-típus adatlapját, pl. 16F84, 16F628 meg hasonlók. Jó dolog ez a basic, de nem szabad elfelejteni, hogy mennyire procifüggő a programozás. Minden család, de még azon belül az egyes típusok is eléggé különböző felépítésűek lehetnek, eltérő részáramköröket (így pl. teljesen más regisztereket is) tartalmazhatnak. Célszerű ezért mindig egy adott proci hardver-képességei felől megközelíteni a dolgot, csak fokozatosan kihasználva az adott tok nyújtotta - de egyre bonyolultabb programozást igénylő - lehetőségeket: egyszerű digit portok írása/olvasása, timerek, belső eeprom-tároló, pwm, megszakítások használata, kb. ebben a sorrendben. Utána jöhetnek az egyéb finomságok, már amennyiben az adott proc. támogatja azokat: analóg komparátor, A/D-konverter, hardveres I2C, USART, stb. Egy magasszintű nyelv ismerete sem ér sokat, ha nem ismered alaposan a kontroller azon részegységeit, amelyeket használni szeretnél, ill. a hozzá kapcsolódó külső áramköröket (hiszen a villogó led leprogramozása után gyorsan tovább kell lépni). Sok esetben egy-egy basic-utasítás önmagában nem is nyújt olyan lehetőségeket, amelyeket más módon (pl. bizonyos regiszterek közvetlen piszkálásával) megtehetsz.
Próbálkozz meg először egy egyszerű, rövid saját programmal, nem muszáj rögtön egy agyonkommentezett, de viszonylag bonyolult ''idegen'' progival indítani.
Én ezt a fordítót használom: Bővebben: link, ennek bőséges, letölthető doksija van pdf-ben, meg online helpje is, minden ki van vesézve bennük. Különben is, kezdőként szvsz. egyszerűbb egy apró programot összehozni egy bizonyos fordítót lassanként megismerve, mint másvalaki programjait nehezen visszafejtve.
[Szerkesztve] -
And
veterán
válasz
oregharcos #43 üzenetére
Van Basic-fordító, én is olyat használok, de full funkcionális ingyenes verzióról nem tudok. Mellesleg az sem mindegy, hogy miféle forrás-fájljaid vannak, mert a különféle Basic-compilerek eltérő utasításkészlettel rendelkeznek, és a használhatóságot még egy adott típusú fordító verziószáma is befolyásolhatja (pl. funkcióbővülés miatt).
Mod: a Microchip-től ingyenesen lehúzható MpLab fejlesztőkörnyezet - tudomásom szerint - alapjában csak ASM-fájlokkal dolgozik, bár egy csomó más (külső) fordítóprogrammal is együtt tud működni.
[Szerkesztve] -
And
veterán
válasz
atithebest #35 üzenetére
Felesleges, a PWRT engedélyezése is elég, azt meg úgyis megtetted.
Kivéve ha valami nagyon extrém tápot használsz, de szerintem ez kizárható. -
And
veterán
válasz
atithebest #33 üzenetére
Úgy nézett ki, mintha állandóan világítana, pedig csak kb. 45Hz-cel, 50%-os
kitöltéssel villogott. Ha a delayt max.-ra, FFh-ra állítod, akkor sacc. 0,5sec
lesz a periódusidő. Ha ennél nagyobb periódust akarsz, akkor nyilván három
várakozóciklust kell egybeágyazni, vagy levenni az órajelet.
Az a 20nF komoly? Nekem 20pF körül szimpibb volna, az adatlap is 15...33pF-
ot ajánl 4MHz-es XT-oszcillátorra (nálam azok nélkül is elindult, de nem baj
ha ottvannak, úgy biztosabb az oszcilláció). A LED soros ellenállása megfelelő,
nem terheled túl a portot? -
And
veterán
válasz
atithebest #17 üzenetére
Megjött, átnéztem, szerintem működik!
Ennek alátámasztására rögtön össze is dobtam egy bedugdosós
próbapanelen, és ott is jó volt. Viszont 4MHz-es kvarccal (mert ugye azzal
tervezted) túl gyors a villogási periódus, kb 2*11 msec, magyarul túl rövid
a késleltető ciklus. A panelt mozgatva látszik, hogy ''csíkot húz'' a led,
azaz villog! Azt az apró részletet nem is igazánm értem a késleltető
rutinnál, hogy miért kell 0Ah -val (Delay változó) és 00000011b konstanssal
OR-műveletet végrehajtani, úgyis 11-et (decimális) kapsz az XH-ban.
Egyszerűen állitsd feljebb az XH-t és úgy látni is fogod, hogy villog... -
And
veterán
Hi!
Aki hivatásszerűen foglalkozok kontrollerekkel, az nyilván tudja, hogy a
PIC-eknél létezik gyorsabb, jobb, többet tudó mikrovezérlő is. De a PIC-ek
népszerűsége inkább az egyszerűségüknek, viszonylagos olcsóságuknak, hozzáférhetőségüknek és a jó dokumentációknak köszönhető.
Ja, és persze PIC-ekhez is lézetik fejlesztőkörnyezet (ingyenes), C-, de
még Basic fordító is. -
And
veterán
válasz
atithebest #17 üzenetére
Esetleg dobj egy mailt, benne a .hex meg az .asm (vagy más forrás) fájlokkal,
oszt megnézzük... -
And
veterán
válasz
atithebest #12 üzenetére
Konfig-szót jól állítottad be? Megfelelő portot használtál? Port-irány jó volt?
Oszcillátor működött (ha igen, honnan derült ki)? Program ténylegesen
beíródott (vissza lehetett olvasni)? IC jó (égethető, törölhető)?
/MCLR bemenet jól volt kötve? -
And
veterán
válasz
atithebest #6 üzenetére
Ha konkrét kérdésed van, tedd fel, szerintem többen is vannak itt, akik tudnak
majd válaszolni. A legjobb egyébként a konkrét eszközök adatlapjait
áttanulmányozni, nagyon jó doksikat gyárt a Microchip. -
And
veterán
válasz
atithebest #1 üzenetére
Hi!
Létezik egy évek óta működő levelezőlista, amit a Microchip (a PIC-ek gyártója)
magyarországi forgalmazója indított, többek között a PIC-ek népszerűségének
növeléséért. Nagyon készséges emberek is vannak ott, feliratkozás:
http://www.chipcad.hu/ertesito.htm
Új hozzászólás Aktív témák
- Azonnali készpénzes félkonfig / félgép felvásárlás személyesen / csomagküldéssel korrekt áron
- Fotó állvány eladó
- ÁRGARANCIA!Épített KomPhone i5 13400F 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Creative Sound BlasterX G5 (70SB170000000) (Sound Blaster) (DAC)
- AKCIÓ! Gigabyte H510M i5 10400F 32GB DDR4 512GB SSD RX 5700 8GB Zalman Z9 Zalman 500W
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest