Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   613 / 1319
(#) watt válasza bankimajki hozzászólására (») Dec 6, 2009 /
 
Eszedbe ne jusson esetleg kijavítani az említett dolgokat!
(#) watt válasza Attila86 hozzászólására (») Dec 6, 2009 /
 
Attila! Ha rám hallgatsz, próbáld assemblert megtanulni, és 18F PIC-el kezdeni. Segíteni fogok haladni a kezdetektől itt a topicban. Ne szégyeld, hogy jelenleg nem érted a programozási logikát, hidd el, ez nem nyelv függő és hamar bele lehet jönni! Senki nem így született! Az asm nem ördöngősség, szépen lehet vele haladni. Fontosabb a PIC megismerése, de ebben is tudunk segíteni, ha kérdezel! Egyébként örülök, hogy végre rászántad magad!

ui. Szilva nagyon jól leírta a lényeget a nyelvről és a nyákokról. Mivel neked a nyák nem okoz gondot, én azt javaslom a leírtak alapján, hogy készíts egy próbányákot úgy, hogy minden lábról tüskecsatik vezessenek ki, a kristályt tervezd jumperekkel leválaszthatónak, és tervezd rá az ICSP csatit. Erről az oldalamon is alálhatsz példást. Veszel egy 18F2550-et, és go. Vegyél USB B aljzatot is és tervezd rá egy panelre amit a próbanyákra dughatsz. Minden egyéb kiegészító áramkört(legfontosabbak ledek, osztók, potik, szűrők(AD-hez), soros illesztők(RS485, RS232), stb.) hasonló módon készíthetsz el. Nekem ez bevállt, minden áramkörömet így fejlesztem. Tiszta élvezet elhiheted!
(#) Attila86 válasza szilva hozzászólására (») Dec 6, 2009 /
 
Szia!

Köszönöm a kimerítő választ! Mint írtam tegnap, én nem tudok programozni. Kivéve a POV-Ray nyelvét, amit magamtól megtanultam. A C nyelv a POV-Ray nyelvéhez nagyon hasonló, ezért lenne valami kis alap amire talán tudnék építeni. Egyébként is szerintem hatalmas nagy fába vágom most a fejszémet, így (C-vel) talán valamivel könnyebb lesz.
A topik 1226 oldalának elejétől való végigolvasása biztos segítene, de erre nekem nincs időm. Inkább a Kónya-féle könyvet fogom lapozgatni vagy használom a keresőt.
A PICkit2 starter kitet megveszem a Farnellnél 13000Ft-ért, nem akarom én megépíteni.
(#) Attila86 válasza watt hozzászólására (») Dec 6, 2009 /
 
Rászántam, mert a munka mellett sajnos már nagyon kevés szabadidőm van, nincs energiám arra hogy beüljek a műhelybe, bekapcsoljam a műszereket, elővegyek egy áramkört és méricskéljek rajta stb... Viszont a laptopra egy USB-s programozót rádugni és figyelni a LED-eket sokkal egyszerűbb.
Most hogy többen is írtátok és Skori barátom is a napokban asm-ben ugrott neki gondolkodom, hogy talán akkor mégse legyen C. Viszont mivel mint mondtam semmilyen más nyelvet nem ismerek a POV-Ray-en kívül, ezért most lenne pár hülye kérdésem:
Assembly-ben is lehet makrókat, bennük pedig változókat definiálni és előhívni? Lehet benne ciklusokat készíteni mint a mint a POV-ray-ben?

Ja és miért 18f-es PIC-el kezdjem? A PICkit2 starter kit-hez használhatok 18f-es PIC-et is a hozzá járó 16f690 helyett?
(#) watt válasza Attila86 hozzászólására (») Dec 6, 2009 /
 
18F: Azért, mert könnyebb és sokkal többet tud.
A starter kitről azt hiszem szilva írta, hogy ezt használta 18F-re. Lehet, hogy alakítani kell, de ez nem lehet gond, de segíthetünk.

Lehet makrókat is, és lehet deklarálni a változókat is, névvel stb. Lehet ciklusokat is. Nézz fel az oldalamra van néhány egyszerű példaprogram 18F-re. Ott van a config bitek én általam jobban áttekinthető formájú beállítása is(adatlapból így jobban tudod mit állítottál!), de azt is meg fogod látni, hogy szövegesen is meg lehet adni, amit a gyár támogat. Lehet választani, mert egyébként mindegy.
(#) dinokal válasza Attila86 hozzászólására (») Dec 6, 2009 /
 
Szia. Először én is a c nyelvet akartam megtanulni, de az itt olvasottak meggyőztek az assembler használatáról, úgyhogy ezzel kezdem.
Ugyanúgy van benne makró, változó, ciklus.
Az áramkörök megépítését egy dugdosós boardon kezdem, az összes dil tokú pic használható rajta, nem kell külön nyákot gyártani hozzá, tanuláshoz nagyon jó.
Ajánlom figyelmedbe ezt az oldalt:PIC16F887 Microcontroller, A legtöbb pic-hez használható, nagyon jó magyarázat.
(#) trudnai válasza Attila86 hozzászólására (») Dec 6, 2009 / 4
 
En nem ismerem ezt a POV-ray-t, de a C lenyegeben nem a szintaktika all, hanem a gondolkodas mod ahogy egy "C" programot meg "kell" irni. Ez amugy minden nyelvre igaz.

A C-nel alegyeg a pointereknel van, tehat az egyszerubb dolgokat kiveve mindent mutatokkal csinal. Ez olyannyira igaz, hogy tulajdonkepp a tombok kezeleset is belulrol ilyen mutatotkkal oldja meg. Ez sajnos sok problemat hoz magaval, de errol most nem erdemes beszelni.

A mikrokontrollereknel a kovetkezo problema a C-vel kapcsolatban, hogy a mikrokontroller nem szamitogep. Nagyon kicsi eroforrasokkal rendelkezik, es nehany mikrokontrollernek nincs hardveres verme, mint pl a 8 bites PIC-eknek sincs. Emiatt a lokalis valtozok es fuggveny parameterek csak trukkokkel erhetok el a fordito szamara. Pl a C18-ban indirekt memoria cimzessel hoznak letre egy frame-et a memoriaban es azt hasznaljak veremkent, de emiatt a kodmeret es a sebesseg hogy finoman fogalmazzak nem eppen optimalis.

Ilyen es ehhez hasonlo dolgok miatt nem elegendo a C-t onmagaban egtanulni, meg azt is meg kell tanulni, hpgy a PIC-eknel hogyan kell a kodot megirni, milyen trukkoket kell alkalmazni (pl globalis valtozokat alkalmazni a fuggveny lokalis valtozoinal avagy megvaltoztatni azok tarolasi osztalyaikat static-ra vagy overlay-re stb stb stb

A C-re a nyelv kitalaloi anno azt mondtak, hogy az alacsony szintu nyelv, masok ugy emlegetik, mint magas szintu nyelv, mivel sok nehez dolgot levesz az ember vallarol. Pl ez a ciklus szervezes, vagy mas program szerkezet nem kezzel allitando elo, hanem megvannak ra a nyelvi eszkozok. ASM-ben ezeket le kell bontani. Kicsit olyan, mint ha a kerdesre, hogy mit csinalsz reggel igy felelnel C-ben:

1. Felkelek az agybol
2. Megmosom a fogam
3. Feloltozom

ASM-ben pedig:

1. Kinyitom a szemem
2. Asitok
3. Kezemet a szam ele teszem ilyenkor
3. Felulok az agyban
4. Felre huzom a takarot

....es igy tovabb... Sokkal reszletesebben magyarazod el. Emiatt van az, hogy reszleteiben kell ismerned a PIC-et, ha meg akarod tanulni, es emiatt (is) ajalnjak neked, hogy ha meg akarod tanulni a PIC-et, akkor ilyen modszerrel kell. Kesobb pedig at tudsz terni C-re vagy barmi mas nyelvre.

(#) watt válasza watt hozzászólására (») Dec 6, 2009 /
 
Annyit még röviden, hogy minden programnyelvben megtalálhatóak az alapvető kellékek a szekvenciák felírásához PIC nél.
Ezek a következők:
- Változók deklarálása
- Táblázatok létrehozása, elérése a program ill. az EEPROM memória területen
- Makrók készítése
- Ciklusok szervezése
- Elágazások kezelése
- Szubrutinok lehetősége, hívása
- Megszakítások kezelése

Ha kihagytam valamit, majd a többiek kisegítenek.
(lassan mennem kell, ha nem válaszolok, akkor ezért van...)
(#) benjami válasza Attila86 hozzászólására (») Dec 6, 2009 /
 
Azért lehet hogy először a Chipcad-nél is érdemes lenne körbenézni.
PICkit 2 Debug Express 9600Ft+FA = 12000FT (van készleten)
PICKit 2 programozó 6700 Ft+FA = 8375Ft (van készleten).
(#) Attila86 hozzászólása Dec 6, 2009 /
 
Hát jól van, meggyőztetek. Akkor marad az asm. Még jó hogy nem vettem még meg a Kónya-féle könyv harmadik kiadását, mert az ahogy néztem inkább a C nyelvű programozásról szól. Legyen inkább helyette az első kiadás?
Van egyébként egy maréknyi hülye kérdésem, de nem akarlak titeket fárasztani. Majd inkább később.

Ezt azért megkérdem:
Szeretnék egy feszültség-mérő műszert amiben lenne 4-5db jelfogó az automata méréshatár-váltás végett. Az A/D átalakítást és a 4-5db relé kapcsolását (automata méréshatár-váltás) a PIC végezné és egy 2*16-os LCD-re szeretném hogy kiírja a mért értéket.
Ez a feladat mennyire bonyolult? Mondjuk az egy darab LED villogtatásától ez mennyire van messze?
(#) El_Pinyo válasza Attila86 hozzászólására (») Dec 6, 2009 /
 
Szia!
Idézet:
„Még jó hogy nem vettem még meg a Kónya-féle könyv harmadik kiadását”

Ehhez azért hozzáfűznék egy dolgot! A 3. kiadás CD mellékletén rajta van pdf formátumban a teljes 2. kiadás is. Szerintem érdemes rajta elgondolkodni.
A másik kérdésedre: A LED villogtatástól azért messze van, de nem elérhetetlenül. Minden attól függ, hogy mennyire érez rá az ember az elején, és persze mennyi ideje van gyakorolni, olvasni, tanulni a témában.
Üdv.
(#) Attila86 válasza El_Pinyo hozzászólására (») Dec 6, 2009 /
 
Szia!

És tényleg rajta van a második kiadás, köszönöm a tippet!
(#) dolfin hozzászólása Dec 6, 2009 /
 
Üdv

Olyan létezik hogy egy PIC-nek csak pár lába száll el?
Tehát pogramozni lehet, program megy rajta, de 2 láb nem ad ki feszt?

Köszi
(#) bbalazs_ válasza dolfin hozzászólására (») Dec 6, 2009 /
 
Igen. Bemenetkent meg hasznalhato lesz.
(#) szilva válasza Attila86 hozzászólására (») Dec 6, 2009 /
 
Én inkább a Chipcad-ban vennék PICkit2-t, és vagy a Debug Express-t, vagy szóló programozót és egy 44-pin Demo Board kitet. Ekkor megkapod ugyanazt a szerelt kártyát, amit a Debug Express-ben is adnak, plusz kettő ugyanilyen, csupasz panelt. Ezekre lehet TQFP tokos, 44 lábú 18F-et feltenni, és pl. az egy jó tanulás, ha az eredetileg 16F887-re megírt assembly példákat átírkálod úgy, hogy a saját 18F-es PIC-eden működjenek.

Ha van kedved, akkor akár tervezhetsz is egy furatszerelt "44-pin Demo Board"-ot, ebbe lehetne már foglalatot rakni, így könnyen cserélhető benne a PIC, ha szükség van rá.
(#) Attila86 válasza szilva hozzászólására (») Dec 6, 2009 /
 
Nem, én mindenképp DIL tokos lábas jószágot szeretnék programozni először és nem akarok most magamnak nyákot gyártani. A demó panel jó, aztán legfeljebb átrakom a PIC-et egy dugdosós próbapanelra.
Csak a PICkit2 starter kit sajnos nincs a chipcad-nél raktáron. A Farnellnél viszont van (13000Ft).
(#) icserny válasza Attila86 hozzászólására (») Dec 6, 2009 /
 
Idézet:
„Csak a PICkit2 starter kit sajnos nincs a chipcad-nél raktáron.”

A DV164126 Low Pin Count USB Kit w/ PICkit2 készletet ajánlom helyette.

Idézet:
„A PICkit2 starter kit-hez használhatok 18f-es PIC-et is a hozzá járó 16f690 helyett?”

A PIC18F14K50 használható. Minimálisan egy 470 nF-os kondenzátort kell berakni a 17. és a 20. láb közé. Persze, még hasznosabb, ha kvarcot és USB csatlakozót is rak be az ember itt írtam le egy ilyen átépítést. S akkor (majdnem) ugyanott vagy, mint a föntebb ajánlott LPC USB kittel, azzal akülönbségel, hogy abban RS232 illesztő és debug feltét is van.

Ha különálló PICkit2-t veszel, akkor pedig a PICCOLO projektben ajánlott kapcsolások valamelyikének megépítését ajánlom. Raszteres vagy pontsávos (3-3 raszter összekötve) próbanyákon könnyen összehuzalozható.
(#) szilva válasza Attila86 hozzászólására (») Dec 6, 2009 /
 
Értem én a problémádat, de a starter kit-hez kapott "Low pin count demo board"-on egy 20 lábú foglalat van, amibe maximum a 18F13K22/18F14K22 és a 18F13K50 és 18F14K50 tehető be a 18F sorozatból. Ezekhez ráadásul - ha jól emlékszem - bele kell nyúlni magába a kártyába is, de erről icserny tud bővebbet, mert mintha ő használta volna ebben a kártyában a 18F14K50-et.
(#) szilva válasza icserny hozzászólására (») Dec 6, 2009 /
 
Ejha, ez tényleg jó kis kit! Ha jól látom a leírásában, adnak vele egy beültetetlen panelt és egy debugolható 18F14K50-es header-t is.
(#) Attila86 válasza icserny hozzászólására (») Dec 6, 2009 /
 
De ez a DV164126 csak egy panel, programozót nem kapok hozzá. (Vagy igen?)
Olyan jó, eddig legalább a C nyelv és a PICkit2 starter kitben biztos voltam a hozzá járó 16f690-el együtt, de most már ez sem biztos.

Most akkor mit vegyek hogy tudjak valami jó DIL tokos PIC-et programozni anélkül, hogy panelt kelljen készítenem?
(#) szilva válasza Attila86 hozzászólására (») Dec 6, 2009 /
 
Ez a DV164126 oldala a Microchipnél: Bővebben: Link illetve: Bővebben: Link

Ez alapján egy beültetett és egy üres panelt kapsz, melléjük egy PICkit2 programozót, valamint egy olyan spéci változatát a 18F14K50-nek, amit lehet debugolni.
(#) icserny válasza Attila86 hozzászólására (») Dec 6, 2009 /
 
Idézet:
„De ez a DV164126 csak egy panel, programozót nem kapok hozzá. (Vagy igen?)”

a DV164126-hoz kapsz programozót, azért ezt ajánlottam.

Az önálló panel (programozó nélkül) más kódszámú: DM164127. Az nem ajánlom...
(#) Attila86 válasza szilva hozzászólására (») Dec 6, 2009 /
 
Értem. Oké, akkor ezt veszem meg a starter kit helyett. A debugolás egyébként miért olyan jó? EZEN a képen mi az a kis panel az SMD IC-vel? Az lenne a spéci 18f14K50? Ha igen, akkor mi az a DIL tokos IC a nagyobbik, beültetett panelon? Az is PIC? :hide:
(#) gydanee válasza Attila86 hozzászólására (») Dec 6, 2009 /
 
Hali!
itt mindent megtudhatsz az említett termékröl.
(#) icserny válasza Attila86 hozzászólására (») Dec 6, 2009 /
 
Idézet:
„Az lenne a spéci 18f14K50?”
Igen. Annak több lába van...

Idézet:
„mi az a DIL tokos IC a nagyobbik, beültetett panelon?”
Az a normál kivitelű (20 lábas PIC).

Idézet:
„A debugolás egyébként miért olyan jó?”

Többnyire megvan nélküle az ember, de ha már végképp nem tudja, hogy hová és miért baragolt el a program akkor utána lehet nézni (töréspontokat lehet a programban elhelyezni, s ott meg lehet vizsgálni a regiszterek és a memória állapotát).
(#) ecostar válasza El_Pinyo hozzászólására (») Dec 6, 2009 /
 
Igen működik de csak B-portra megy ha A-portra akarok írni 0xFF-t akkor oda 0x7F -t ír miért?
(#) icserny válasza ecostar hozzászólására (») Dec 6, 2009 /
 
Idézet:
„ha A-portra akarok írni 0xFF-t”

Hmmm!
Idézet:
„PORTA is a 6-bit wide, bidirectional port.”
Hat bites portra hogy akarsz 8 bitet kiírni?!
Idézet:
„oda 0x7F -t ír”

Szerintem csak 0x3F-et...
(#) ecostar válasza icserny hozzászólására (») Dec 6, 2009 /
 
Pic16F1936-nak 8bites

#include
main()
{
PORTA = 0;
ANSELA = 0;
TRISA = 0;
LATA = 0xFF;
while(1); //vegtelen ciklus
}
(#) El_Pinyo válasza ecostar hozzászólására (») Dec 6, 2009 /
 
Ugyanazt el kell játszani vele, mint a B port esetében, csak ANSELA stb... Egyébként ha megnéznéd az adatlapot is, mondjuk a portok leírása környékén, akkor megértenéd, hogy a minta kódrészletben mit miért írtam le.

icserny: 16F1936- ról van szó!

Üdv.
(#) ecostar válasza El_Pinyo hozzászólására (») Dec 6, 2009 /
 
Igen ezt megtettem meg is értetem mi mit csinál de még sem az jelenik meg a porton, forrás fent.
Következő: »»   613 / 1319
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