Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   491 / 1319
(#) trudnai válasza icserny hozzászólására (») Máj 25, 2009 /
 
Idézet:
„A maga módján egyébként igaza van, csak nekem nem tetszik.”


Hat nekem se Amugy az AVR-es gcc olyan, hogy mikor pl "PORTB ^= 1<<7;" -et mondasz akkor gyonyoruen kioptimalizalja. Regebbi valtozatok viszont a bitfieldeseket nem optimalizaltak ki es csunya kodot produkaltak... Furcsa dolog az optimalizalas...
(#) MolnarG hozzászólása Máj 25, 2009 /
 
Sziasztok!
Szeretnék elkezdeni PIC-ezni (teljesen kezdő vagyok) és rádiótechnika honlapján találtam ezt könyvet:

Dr. Kónya László - Kopják József - PIC mikrovezérlők alkalmazástechnikája - PIC programozás C nyelven

Elég drága a könyv, ezért is kérdezem meg előbb tőletek, hogy érdemes-e megvenni. Milyen tapasztalatok vannak róla? 0-ról indulóknak használható?

Előre is kösz!
üdv.
(#) skeletornb válasza MolnarG hozzászólására (») Máj 25, 2009 /
 
Szia!

Valóban nem olcsóság, de szerintem megéri az árát. Ami nagyon jó, hogy a teljes előző kiadás fent van a CD-mellékleten. A könyv leginkább a 16-bites mikrovezérlőkre van kihegyezve, tehát a CD-melléklet anyagát is olvasni kell. Szerintem 0-ról indulóknak is jól használható.
(#) icserny válasza trudnai hozzászólására (») Máj 25, 2009 /
 
Idézet:
„Furcsa dolog az optimalizalas...”

Mindenesetre a fő tanulság az, hogy kritikus dolgokat nem szabad a fordítóra hagyni.

A Microchip fórum egyik témakörébem ís hasonló dolgokról esett szó. Pl. egy SFR regiszter egy bitcsoportjának beállítása atomi művelettel.

Az AVIX RTOS szerzője egy érdekes makrót definiált a feladatra, ami azzal a feltevéssel él, hogy az adott bitcsoportot csak egy programszál vagy IT kezeli, a regiszter többi bitjét viszont kezelheti konkurrens folyamat.

Példa:

AD1CON2bits.SMPI = 3;

A fordító által generált (nem atomi) kód:
  1. 019F8  BFC322     mov.b 0x0322,0x0000
  2. 019FA  B3CC31     mov.b #0xc3,0x0002
  3. 019FC  604001     and.b 0x0000,0x0002,0x0000
  4. 019FE  B340C0     ior.b #0xc,0x0000
  5. 01A00  B7E322     mov.b 0x0000,0x0322


A makró használatával fordított kód:
  1. 019F8  801910     mov.w 0x0322,0x0000
  2. 019FA  68006C     xor.w 0x0000,#12,0x0000
  3. 019FC  B203C0     and.w #0x3c,0x0000
  4. 019FE  B6A322     xor.w 0x0322


Ez akkor tekinthető atomi műveletnek, ha SMPI 4 bitjét nem piszkálja konkurrens folyamat. Itt ugyanis a W0 regiszterben csak a 4 bites maszk összeállítása történik, nem a regiszter tartalmának összeállítása, mint az előző kódban.
(#) borvendeg hozzászólása Máj 25, 2009 /
 
Hello!
Olyan problémába ütköztem, hogy egy infra vevőt szeretnék kezelni PIC-el. Egyenlőre annyit szeretnék megoldani hogy ha a távirányítón megnyomok egy gombot(bármelyiket egyenlőre a dekódolás nem kell) akkor egy led világítson. A PICKIT 44pin demo board-ját használom amiben egy PIC16f887 van és az RB1-es lábára van kötve az infra vevő kimeneti lába.
Basic-ben programozok. Ha lehet ebben segítsetek. De lehet hogy egy elv is elég lenne amin el tudok indulni.
Segítséget előre is köszi.
(#) icserny válasza borvendeg hozzászólására (») Máj 25, 2009 /
 
Itt van egy topik, ahol infradekóderekről van szó. Ugyancsak hasznos lehet a Propeller Clock című topik meglátogatása is (távirányítóval vezérlik).

Idézet:
„Basic-ben programozok”

Lehet, hogy egy időre le kell szoknod róla.
Itt pl. MikroC-ben írt programot ajánlanak
(#) patexati hozzászólása Máj 26, 2009 /
 
Sziasztok! Most akarok pic égetőt gyártani és utánna persze égetni is vele csak nem tudom melyik pic-et rendeljem hozzá (több fajta van azonos szám alatt) Valószínű egy procpellerclock lenne az első égetés Linkelem azoldal honnan rendelem melyik a jó írja meg valaki legyenszíves Az égetőt is belinkelem mit már félig (nyák kész) megépítettem de az remélem jó lesz (nem JDM)srch=16f628&ls=20&sm=2]pic[/url]égető pic 16f628
(#) Hp41C válasza patexati hozzászólására (») Máj 26, 2009 /
 
Szia!

Megérné a propeller órába a 16F648A 20MHz-es, a bázisba a 16F87 vagy 16F88 20MHz-es változata. Nem sokkal drágábbak és sok bővítésnek lennük hely. Javaslom a PCF8583 RTC-t is mind a propellerbe, mind a bázisba. A távirányítóba jó egy 4MHz-es 16C83, 16F84 is...

Propellerből készül már egy nagyobb verzió is 16F886-tal (Hőmérséklet, páratartalom és a buffer feszültség mérés, 8 bit magas karakterek (ékezetek elférnek), 20 led (külön led az óraosztásnak és a másodperc mutatónak)).

Olvass bele a topik végébe.

A JDM kerülendő - A legjobb, amit lehet építeni, a PicKit2 klón (Megéri - sok már funkciót is rejt: nem csak programozó, hanem debugger is, soros terminál, 3 csatornás digitális analizátor, logikai ki- és bement áramkör vizsgálathoz. ) 18F2550 -van benne.

Propeller
Bázis
(#) patexati válasza Hp41C hozzászólására (») Máj 26, 2009 /
 
Hát én nem igen vágom ám ezeket még most akarom kezdeni a pic-es dolgokat azt az órára gondoltam,hogy megépítem Szerinted mivel kezdjem vagy jó ez az óra? 16F648A számú pic nincs a hq-nál a 16F628-ból melyik jó mert több van belőle? LCF mérőn is gondolkodom Valami pic-es dolog kéne csak most akarok rendelni alkatrészeket azért érdeklődök! A pic2klón csak smd-ben van nem lehet sima alkatrészekkel megépíteni vagy nincs nyák tervezve hozzá? Adj egy pontot honnan kezdjem a pic-égetést tudjak elindulni! Koszönöm!
(#) trudnai válasza patexati hozzászólására (») Máj 26, 2009 /
 
Idézet:
„A pic2klón csak smd-ben van nem lehet sima alkatrészekkel megépíteni vagy nincs nyák tervezve hozzá? Adj egy pontot honnan kezdjem a pic-égetést tudjak elindulni! Koszönöm!”


Itt van a Szilva fele klon -- furatszerelt es jol mukodik.
(#) patexati válasza trudnai hozzászólására (») Máj 26, 2009 /
 
Köszi neki is állok a panelvasalásnak! Meg tudnám az smd-t is építeni de nekem szimpatikusabb és szebb a sima furatszerelt verzió! Meg smd alkatrészeim nem igen vannak mindent rendelni kéne!
(#) icserny hozzászólása Máj 26, 2009 /
 
PIC-kwik projekt (Bevezetés a PIC24 programozásába) hírek

Egy inkognitóját megőrizni kívánó olvasónk nagylelkűen felajánlotta, hogy közzétehetjük az általa tervezett DSP80 fejlesztői kártya utángyártáshoz szükséges dokumentencióját (kapcsolási rajz, Gerber fájlok).

Link: DSP80 fejlesztői kártya

A DSP80 kártya 40*57 mm-es panelméretben tartalmaz: Egy 80 lábú PIC24 vagy dsPIC mikrovezérlőt és tüskesoron ki van vezetve mind a 80 láb (a PIC24 mikrovezérlő lehet a régi PIC24FJxxxGA008 vagy az újabb GA108 esetleg GB108 típus is), továbbá mini-USB csatlakozót (erről kapja a panel a 3.3 V-os tápellátást is), SD/MMC csatlakozást, SPI / I2C EEPROM-ot, CANON 9 (illesztett RS32) csatlakozást, IRDA illesztöt, I2C 2x16 karakteres LCD csatlakozást (tipus adott), nyomógombokat, LED-eket, potenciómétereket, ICSP csatlakozást az égetéshez és debuggoláshoz.

Letölthetők a tervező által saját használatára írt gyakorlóprogramok is.

Kérem, hogy aki a megépítésre vállalkozik, jelezze! Esetleg mások is vevők lennének rá, mert a kétoldalas, felületszerelt áramkör elkészítése és megszerelése nem triviális feladat.


(#) icserny válasza patexati hozzászólására (») Máj 26, 2009 /
 
Idézet:
„a 16F628-ból melyik jó mert több van belőle?”

A PIC16F628A újabb kiadású változat. Én ezt választanám.

- Az I/P a"hagyományos" dual-in-line IC tokozást jelzi.
- A sima (nem A) típusnál a 4-es jelzés 4 MHz-es, a 20-as 20 MHz-es maximális frekvenciát jelöl.
- Az "A" jelzésű típus is 20 MHz-es.

Idézet:
„LCF mérőn is gondolkodom”
Újabb fejlesztéshez inkább a PIC18-as sorozatban kellene gondolkodni. Ha már úgyis PICkit2 klón építését tervezed, akkor ismerkedj meg a PIC18F2550-nel, s ha veszel belőle tartalékot, akkor használhatod másra is. Kellemes benne, hogy USB-n tud kommunikálni a PC-vel... De korszerű és olcsó a PIC18F14K20, PIC18F25K20 is.

Ha pedig a 16 bitesek (PIC24/dsPIC33) érdekelnek, akkor látogasd meg a PIC-kwik oldalamat!
(#) patexati válasza icserny hozzászólására (») Máj 26, 2009 /
 
Mindenkinek köszönöm a segítséget! Próbálkozni fogok mennyire engedi persze a költségvetésem egyszerre mert sok mindeent szeretnék de véges a lovetta Még annyit kérdeznék,hogy akkor a PIC18F2550 -al helyettesíthtő a PIC18f628 meg más kissebb pic-ek?
(#) icserny válasza patexati hozzászólására (») Máj 26, 2009 /
 
Idézet:
„hogy akkor a PIC18F2550 -al helyettesíthető a PIC16f628

Legokosabb, ha addig bújod az adatlapokat, amíg ezt meg nem tudod ítélni magad. Te tudod ugyanis, hogy mit akarsz vele kezdeni.

Ha van egy kész, kifejlesztett kapcsolás, abba nyilván nem rakható be egy másik típus anélkül, hogy módosítani ne kellene az áramkört vagy a programot.

Ha te kezdesz egy új projektet, akkor viszont élvezheted a nagyobb tudású 18F sorozat előnyeit. Még jobban fogod élvezni az előnyöket, ha előtte a PIC12 vagy PIC16 használatába is belekóstoltál egy kicsit.

(#) trudnai válasza patexati hozzászólására (») Máj 27, 2009 /
 
Idézet:
„Még annyit kérdeznék,hogy akkor a PIC18F2550 -al helyettesíthtő a PIC18f628 meg más kissebb pic-ek?”


En inkabb ugy fogalmaznek icserny helyett, hogy igen, egy betontoro kalapaccsal is be lehet verni egy szoget a falba...

Talan durva hasonlat, es lehet hobby celokra szinte teljesen mindegy -- sot sok radio amator egyetlen PIC tipust hasznal merthogy akkor nem kell ujra es ujra megtanulni mit tud az eszkoz. Azonban ha gyartott termekrol lenne szo akkor nem javasolnam ugyanezt a modszert -- eleg csak elgondolkodni azon vajon miert gyartanak ennyi fele PIC chipet?
(#) steev hozzászólása Máj 27, 2009 /
 
Egy ASM programozástechnikai kérdésem lenne:

A W0 regiszterbe írt értéket szeretném decimálisban LCD-re kiírni. Ezt nagyjából meg is tudom oldani csak az a baj hogy a helyiértékek fordítva jelennek meg, pl:
ha W0=129, az LCD 921 jelenik meg.

Kód:
  1. VALTOZO_KIIRAS:                                 ;W0-BAN LÉVŐ VÁLTOZÓ KIIRÁSA LCDRE
  2.                
  3.                 MOV #10 ,W2
  4.        
  5. UJRAOSZT:
  6.  
  7.                 REPEAT #17
  8.                 DIV.S W0,W2
  9.  
  10.                 MOV #48,W4                              ;ASCII ELTOLÁS
  11.                 ADD W4, W1,W3
  12.                 CALL KARAKTERKIIRAS    
  13.                 CP W0,#9
  14.                 BRA NN, UJRAOSZT
  15.  
  16.                 ADD W4, W0,W3                   ;AZ UTOLSÓ KARAKTER KIIRASA
  17.                 CALL KARAKTERKIIRAS
  18.                
  19.                 RETURN


Azt hogy miért írja ki fordítva az világos nekem is, csak abban kérném a segítségeteket hogy hogyan tudnám elegánsan megfordítani a sorrendet.
Köszi
(#) potyo válasza steev hozzászólására (») Máj 27, 2009 /
 
1. Van olyan LCD parancs, ami azt állítja, hogy merre menjen a kurzor a kijelzőn. Azt állítsd át az írás előtt, hogy balra menjen a kurzor

2. Kezdd balról a szám feldolgozását, tehát először oszd 100-al, majd 10-el, majd a maradék

3. a W4-et ne küldd ki azonnal a kijelzőre, hanem tárold le egy tömbben, és később azt írasd ki visszafelé.
(#) icserny válasza steev hozzászólására (») Máj 27, 2009 /
 
  1. hogyan tudnám elegánsan megfordítani a sorrendet

Konverzió közben ne írasd ki, hanem pakold le a veremben, s onnan garantáltan fordított sorrendben szeded elő.
(#) steev válasza potyo hozzászólására (») Máj 27, 2009 /
 
Az grafikus LCD meghajtót én írtam, az még nem tudja a visszafelé írást.

De szerintem legjobb ha átírom és úgy hogy vizsgálja meg hogy melyik a legnagyobb helyiérték és utána osztogasson.

Köszi a tippeket

(#) steev válasza icserny hozzászólására (») Máj 27, 2009 /
 
Igen erre én is gondoltam, csak nem akartam a nem akartam problémát okozni a verem kezeléssel. Annyira nem vagyok még abban toppon, de tudom hogy nem nagy durranás.
Közben már újraírtam az egészet, már jól működik .
(#) Brienter hozzászólása Máj 27, 2009 /
 
Üdv!
Megépítettem a Topi cikkében szereplő jdm progizót megvan a táp is programoz is csak az mp-labbal nem boldogulok nem tudom hogyan kell fordítani vele.
A másik hogy egy stoppert szeretnék összedobni 7 szegmenses kijelzővel de nem tudom hogy mérjem az időt, ez megoldható csak a piccel vagy kell hozzá pl egy óraic? ASM-be írnám a progit. gondolom ez kitűnik de elmondom eléggé kezdő vagyok ebben a témában.
(#) m.joco hozzászólása Máj 27, 2009 /
 
Hello
PIC16F84 magyar adatlapjában olvastam: PORTB - programból bekapcsolható bemeneti felhúzóellenállásokkal. Ez pontosan mit is jelent?
Üdv.
(#) potyo válasza m.joco hozzászólására (») Máj 27, 2009 /
 
Pontosan mi az, ami nem világos az idézett mondatból?
(#) m.joco válasza potyo hozzászólására (») Máj 28, 2009 /
 
Ha be van kapcsolva, és bemenetnek használunk egy lábat, akkor a magas és az alacsony szintet külön ellenállás nélkül kapcsolhatjuk az adott lábra? Pl. egy mátrixos 4x4-es billentyűzetnél.
Üdv.
(#) trudnai válasza m.joco hozzászólására (») Máj 28, 2009 /
 
Hat szo mi szo eleg furan hangzik. Ez eredeti valahogy igy nezett ki:

Idézet:
„PORTB can be software programmed for internal weak pull-up on all inputs.”


Magyarul: A PORTB minden bemenetere belso felhuzo ellenallas kapcsolhato be szoftveresen.

Nem vagyok nagyon jo fordito, de talan ez igy erthetobb lenne -- vagy nem
(#) trudnai válasza m.joco hozzászólására (») Máj 28, 2009 /
 
Hat ezt most nem ertem amit kerdezel. Felhuzo ellenallast OC (open collector) vagy OD (open drain ha fetrol van szo) kimenetu kapcsolasok illesztesehez _kell_ hasznalni. A PIC-ben van belulrol ki-be kapcsolahto ellenallas, igy csokkenteni lehet a szukseges alkatreszek szamat. Azonkivul lehet kapcsolokhoz is hasznalni es minden olyan aramkorhoz ahova kb 20kOhm felhuzo ellenallas illene...
(#) olala hozzászólása Máj 28, 2009 /
 
Hello mindnekinek!

Megvásároltam Kónya László és Kopják József közös könyvét, a PIC mikrovezérlők alkalmazástechnikáját, a III. kiadást. Szerencsére a II. is rajta van a CD-jén pdf-ben, mert az új könyv elolvasása után még vannak részek, amik nem egészen tiszták, de utalt is rá a szerző, hogy amit az előző kiadásban leírt, azt nem fogja mégegyszer olyan részletesen tárgyalni, tehát a II rész áttanulmányozása szerintem elengedhetetlen.

Nézegettem a könyv második részét (ami a C programozási nyelvet tárgyalja), és ki akartam próbálni az első program lefordítását, hogy működik e. De sajnos nem sikerült lefordítanom. Mellékeltem egy képet amin látszik a hibaüzenet, a forráskód és a Project ablak is. Hátha valaki meg tudná mondani mi lehet a baj. Én azt hámoztam ki belőle, hogy nem találja az általam megadott header fájlt, de az lehetetlen, mert még a projectbe is direkt "behúztam", tehát ott kell lennie.

Várom válaszotokat!

Üdv!

hiba.png
    
(#) potyo válasza olala hozzászólására (») Máj 28, 2009 /
 
Vagy állítsd be a header fájlok elérési útják valahol a Project-->Set language tool locations, vagy valami ilyesmi nevű menűpontnál, vagy másold oda a p18f4550.h fájlt a forráskódod mellé. Nem biztos, hogy ez a hiba, de ezzel kezdeném...
(#) bladika válasza olala hozzászólására (») Máj 28, 2009 /
 
Próbáld meg úgy, hogy:

Betöltöd a programodat (Project/Open) utána Project/BuildOptions/Project, ekkor előjön egy ablak! Menj arra a fülre, hogy "Directories" ott van egy legördülő menü "Show directories for" és ott válaszd ki az "Include search Path" lehetőséget. Ha ez meg van ott kattints a "New" akkor lesz egy új sor. A sor végén ott van a tallózási lehetőség gombja! Arra katt és keresd meg azt a könyvtárat ahol az include fájlok vannak! Ha ez meg van próbáld újra lefordítani!
Következő: »»   491 / 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