Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   72 / 1319
(#) elektromos válasza Topi hozzászólására (») Szept 18, 2007 /
 
Ha jól értelek,akkor ez a pár sor C-ben ugyanaz mint amit basicben írtál?
(#) Topi válasza elektromos hozzászólására (») Szept 18, 2007 /
 
Igen... Teljesen ugyan azt csinálja, de C-ben még a FUSES sorból is ki lehet szedni sokmindent (ezek a konfig bitek)
Itt CCS-C-nél a fordító azzal hogy azt mondtad output_xxx máris beállította az adott lábat kimenetre. Ha az mondod input(akármi) máris beállította bemenetre.
#delay sor azért kell, hogy tudja milyen órajelről járatod => mennyi is mondjuk az 1ms-os sleep vagy delay.
(#) watt válasza elektromos hozzászólására (») Szept 18, 2007 /
 
Ennek elkerülésére van egy jó módszer, hogy mielőtt elküldöd átolvasod.
Ne haragudj, de azt a következtetést vonhatja le az olvasó, hogy neked nem érdemes segíteni, mert nem tudsz magyarul írni. És aki ezt sem tanulta meg, az hogyan akar egy másik nyelvet elsajátítani?

Ha ezen túllendültünk, akkor tényleg az lenne a jó megoldás, hogy leírod, mit nem értesz. Persze eleinte az is nehéz. Ennek pedig a leginkább előforduló oka az, hogy nem helyes irányból közelíted meg a PIC világot.

Első lépésben meg kell ismertni magát a PIC-et, utána rögtön megérted mire jók az utasítások! Tehát szedd elő az adatlapot, és ismerd meg mi-mire való egy PIC-ben, hogyan épül fel, milyen fő elemei vannak stb. Rögtön lesz mit kérdezned is! (előtte olvasd el Topi cikkét is! ...mégegyszer!...)
(#) elektromos válasza Topi hozzászólására (») Szept 18, 2007 /
 
Meg vagyok lőve !Többet tanultam ebben a pár órában tőletek,mint az elmult két hétben.Olvastam csak a sok száraz irodalmat,de semit nem értettem belőle.Most meg itt vagyok,és kezdem érteni is a dolgokat.Igaz ezután jönnek majd a késleltetések beszúrása, 6 bemenetre alakítás,5 kimenetre állítás ,stb.
Remélem továbra is segítetek,ha elakadok valamiben !
Mégegyszer köszi !

(#) Topi válasza elektromos hozzászólására (») Szept 18, 2007 /
 
Csak a teljesség kedvéért, ugyan ez a program assemblyben.

  1. LIST P=16F628A
  2.  #INCLUDE "P16F628A.INC"
  3.  __CONFIG _XT_OSC&_CP_OFF&_WDT_OFF&_LVP_OFF
  4.  
  5.         ORG     0
  6.  
  7. START
  8.         BSF     STATUS,RP0
  9.                         ;BANK1-be átlépünk
  10.         MOVLW   B'00011111'             ;Betöltjük az akksiba a TRISA-ba irandót
  11.         MOVWF   TRISA                   ;Beállítjuk a PORTA-t bemenetre (beírjuk a TRISA-ba)
  12.         MOVLW   B'00000000'             ;Betöltjük az akksiba a TRISB-be valót
  13.         MOVWF   TRISB                   ;Beletöltjük (mind kimenet a nulla miatt)
  14.         BCF     STATUS,RP0                      ;BANK0-ba visszalépünk
  15.         MOVLW b'00000111'
  16.         MOVWF CMCON     ;komparátor config regiszter
  17.  
  18. MAIN
  19.         BTFSS   PORTA,0
  20.         BSF     PORTB,0
  21.         BTFSC   PORTA,0
  22.         BCF     PORTB,0
  23.  
  24.         BTFSS   PORTA,1
  25.         BSF     PORTB,1
  26.         BTFSC   PORTA,1
  27.         BCF     PORTB,1
  28.         GOTO    MAIN
  29.  
  30.         END     ;Teljes program végét jelentő END

Szerk: Köszönöm Watt mester a CMCON-t...
(#) watt válasza Topi hozzászólására (») Szept 18, 2007 /
 
A C-ben engem meg a sok kapcsos zárójel tud megőriteni! Maradok az asm-nél egyelőre!
PC-n viszont a VB is jó, én legalább is mindent megoldottam eddig amit kellett. Tanulgatom a C#-ot (.NET) de nem igazán tetszik, csak muszájból, mert "illik" lassan ezt is megtanulni. Na mindegy ez igencsak off, bocs!
(#) Topi válasza watt hozzászólására (») Szept 18, 2007 /
 
pedig sokkal jobb annál a pointer pointerének a pointere által mutatott érték, meg a ++i meg a i++ meg a ^= és társai
(#) watt válasza Topi hozzászólására (») Szept 18, 2007 /
 
Még a komparátort is ki kéne kapcsolni, mert a PortA nem lesz digit be.

MOVLW b'00000111'
MOVWF CMCON
(#) watt válasza Topi hozzászólására (») Szept 18, 2007 /
 
  1. No igen. Ha hiszed, ha nem ezt még értem is. De ezek a kapcsos zárójelek! Hová kell, hová nem. ......
(#) Topi válasza watt hozzászólására (») Szept 18, 2007 /
 
Arra emlékeztem hogy ADCON regiszter nincs, csak aztán elfelejtettem megnézni...
(#) szabi_o válasza watt hozzászólására (») Szept 18, 2007 /
 
C "{}" -> Pascal "Begin End;"
(#) watt válasza Topi hozzászólására (») Szept 18, 2007 /
 
Idézet:
„Szerk: Köszönöm Watt mester a CMCON-t...”

Igazán nincs mit, és nem is mernék szólni még egyet, csak annyit, hogy a CMCON a Bank0-ban van. Csúsztasd kicsit lejjebb a BCF STATUS,RP0 alá és tökéletes lesz!
(#) watt válasza szabi_o hozzászólására (») Szept 18, 2007 /
 
A Pascalt tökre nem ismerem, de van olyan, mikor nem kell {} -zni C-ben. Azt is tudom ám mikor, csak nagyon nem áll rá az agyam.
Nekem jobban bejön a do-loop, for next stb. olvashatóbb listák.
De ez nem jelent semmit, mert küzdök magammal és menni fog, csak idő kérdése, ami nincs!
(#) Topi válasza watt hozzászólására (») Szept 18, 2007 /
 
Ha jól tévedek, akkor eredetileg BANK0-val indul a PIC. De lejjebb csúsztattam... Helyesen, kellene az RP1-et is törölni a STATUS-ban.
(#) watt válasza Topi hozzászólására (») Szept 18, 2007 /
 
Igazad van, a BSF STATUS,RP0 elé is tehetted volna.
Ha nem állítod át, az RP1 marad nyugton elvileg, bár én már láttam érdekes dolgokat, önállósodott biteket, ezért inkább mindent beállítok, még azt is, ami elvileg reset után jól állna be. Szerintem nem felesleges erőfeszítés.
(#) potyo válasza watt hozzászólására (») Szept 18, 2007 /
 
Nemtudom, hogy szoktad csinálni, de érdemes a blokkokat egy tab-al vagy 2-3 szóközzel mindig beljebb tenni, és akkor átlátható a kapcsos zárójeles megoldás is. Én mondjuk azt nem értem, miért csinálják úgy C-ben, hogy a nyitó zárójel a feltétel vagy a függvény fejléce után van közvetenül, a záró zárójel pedig új sorban, pl. így:
  1. void orajelKeres(void) {
  2.         KBD_CLK_LO;
  3.         delay_us(100);
  4.         KBD_DAT_LO;
  5.         delay_us(10);
  6.         KBD_CLK_HI;
  7.         INT0IF=0;
  8. }

Ehelyett szerintem jobban átlátható, ha így csinálja az ember:
  1. void orajelKeres(void)
  2. {
  3.         KBD_CLK_LO;
  4.         delay_us(100);
  5.         KBD_DAT_LO;
  6.         delay_us(10);
  7.         KBD_CLK_HI;
  8.         INT0IF=0;
  9. }



Mondjuk én az ilyenek miatt szeretem a C-t :
  1. if ((tabla4[ps2be[2]>>3])&(hatvanytabla[ps2be[2]&0x07]))
(#) watt válasza potyo hozzászólására (») Szept 18, 2007 /
 
Idézet:
„Mondjuk én az ilyenek miatt szeretem a C-t:”

Sejted a választ!
Egyébként igazad van, lehet struktúráltabban alakítani a listát, és valóban zavaró a parancs sorában indított { jel. Erősen rá kell kényszerítenem magam a megszokásra, aztán már nem lesz gond....
(#) m.joco hozzászólása Szept 19, 2007 /
 
Hello
Sikerült megépítenem a pic-égetőmet. PIC16F628 04/P -t fel tudom vele égetni, vissza is tudom olvastatni. De a PIC16F628 20/P nem működik vele. Amikor először beletettem, és rámentem a read-re(ic-prog), kijött az a sok 3FFF, de a írás után már hibát jelzett a progi. Azután a visszaolvasásnál már csak nullákat ír ki. Visszatettem bele a PIC16F628 04/P -t, azt be tudja olvasni és be is olvassa ról a hex-et. Amikor vissza teszem a 20MHz-eset, semmi. Most vettem üzletbe, szóval rossz nem lehet és a pic-égető is műxik. Mi lehet a gond?
Valami esetleg nincs jól beállítva a progiban???
(#) Moderátor hozzászólása m.joco hozzászólására (») Szept 19, 2007
 
Össze se merem számolni, hányszor hangzott el az idők folyamán itt az oldalon, hogy a JDM típusú égetők nem adnak teljesen megbízható működést. Kb. ugyanennyiszer lett leírva az is, hogy miért van ez...

Most ezek után mi is a kérdés?
(#) dpeti válasza (») Szept 19, 2007 /
 
bizonyos topicok elejére lehetne egy táblázatot tenni a leggyakoribb kérdésekről és válaszokról, ami eltűnne X idő múlva a regisztráció után...
(#) m.joco válasza (») Szept 19, 2007 /
 
De külső tápos, a PIC mikorvezérlők I. c. cikkből való, a deguss-féle. De az azonos típusú, 4MHz-es tipust felprogizza és vissza is olvassa. Ezt miért nem???? Valamit máshogyan kell beállítani a progizó szoftverben????
(#) Norberto válasza m.joco hozzászólására (») Szept 19, 2007 /
 
Egyszerűen lehet az is, hogy ez az újabb típus, amit vettél, érzékenyebb csak egy parányit az égetőfeszre és a többi fesz. szintre...nem kell ennél több, és máris kész a probléma.

Amúgy nekem is ez az égetőm volt korábban, és főleg mostanság döntött úgy, hogy nem akarja tovább égetni a PIC-eket...mellesleg még régen egyszer halálútra vezetett egy, akkoriban jó drága 18F-es PIC-et is...kb. azóta nem használom ezt az égetőt, csak 2-havonta egyszer...akkor is csak talán...

Szóval pl. egy USB-s alapú ICD2 mindennél többet ér. Ennyi, ez tény, nincs mit gondolkozni rajta. Gazdaságos megépíteni, ezt tudnám még említeni hozzá.
(#) gulasoft válasza Norberto hozzászólására (») Szept 19, 2007 /
 
Az usb-s éhetőhöz egy linket ahol lehetőleg nyomtatható nyákrajz van tudnál küldeni?
(#) deguss válasza gulasoft hozzászólására (») Szept 19, 2007 /
 
Úgy hívják ICD2, és itt megtalálod az oldalon potyo kollega cikkében. De azokat a PIC-eket is fel kell programozni valahogy, és ahhoz jól jön egy "JDM-klón".
(#) Stadi válasza deguss hozzászólására (») Szept 19, 2007 /
 
Idézet:
„ahhoz jól jön egy "JDM-klón"”


Inkább egy watt-féle égető...
(#) Gory válasza m.joco hozzászólására (») Szept 19, 2007 /
 
Én azt tudom ajánlani, amit már sok kezdőnek is, hogy spórolj egy hónapot, és vegyél egy PICKIT2-t. Most kb 8 ezer Ft körül van. USB-vel csatlakozik a géphez. Nyílt a szoftver kódja és a kapcsolása is egyébként.

Most már többszáz PIC tipust programoz, és rengeteget debuggol is MPLAB alól, akár az ICD2. Ráadásul folyamatosan fejlesztik. Majdnem olcsóbb mintha egy ICD2-t éptenél.

Nekem 2 éve van meg, az elején egy diódát valahogy elfüstöltem benne, de mivel publikus a kapcsolása, simán kicseréltem az smd didát egy furatszerelt izmosabb tipusra.
(#) tszaboo hozzászólása Szept 19, 2007 /
 
Hello, olyan kérdésem lene, hogy sikerült szereznem egy valamilyen grafikus lcd kijelzőt, Optrex a gyártója, f-51684 számot látok rajta ami típusjelzésnek tűnik. Ehhez szeretnék egy kis segítséget kérni, hogy valaki már foglalkozott-e grafikus kijelzőkkel, és a pichez illesztéssel. thx előre is. Ja és ha esélytelen mondjátok csak meg, és megyek vissza Digitális technika I.-et tanulni.
(#) gulasoft hozzászólása Szept 20, 2007 /
 
Ötlet kéne.
Winpicel hajtok egy puic égetőt, amit faszán fel is ismer az lpt porton.
PIC16F628A-t égetnék, a progi ismeri, törölni tudja, de beleírni egy bitet sem, már az első bájtnál hibát jelez.

Külső tápos az égető, tehát a táppal nem lehet gond.
De akkor vajh mi a fenével?
(#) Stadi válasza gulasoft hozzászólására (») Szept 20, 2007 /
 
Milyen égető ez? Nincs benne 74LS06/07? Mert akkor lehet, hogy ahelyett kellene keresni egy sima 7406/07-es IC-t.
(#) gulasoft válasza Stadi hozzászólására (») Szept 20, 2007 /
 
sima 7406-os ic van benne és a 16f84a/8-at simán programozta a winpiccel, wiszont a 16f84-10/p-vel már meggyűlt a baja
Következő: »»   72 / 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