Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   480 / 1319
(#) steev hozzászólása Máj 10, 2009 /
 
Sziaszok

Van egy dsPic30F4013-asom, ANALÓG jelet szeretnék vele feldolgozni, de sehogy sem akar sikerülni, átnéztem már az összes doksit, de nem jövök rá hol a hiba a programban, vagy a beállításokban. A légyeg, hogy egy analóg bemenetről szeretnék automatikusan mintavételezni és konvertáni.

Inicializálás:
  1. ;   Set up the A/D except keep it off for now.
  2. ;                   5432109876543210
  3.          mov     #0b000000001111110, w0
  4.                  ;  -X-XXX-----X---- unused, set to 0
  5.                  ;  0--------------- keep A/D off for now
  6.                  ;  --0------------- continue operation in idle (not used)
  7.                  ;  ------00-------- result format is 10 bit unsigned integer
  8.                  ;  --------111----- auto conversion
  9.                  ;  ------------1--- sample the selected channels simultaneously
  10.                  ;  -------------1-- start sampling immediately after conversion
  11.                  ;  --------------1- start sampling now
  12.                  ;  ---------------X read-only status bit
  13.          mov     w0, ADCON1
  14.  
  15.          mov     #0b0000000000000000, w0
  16. ;                   5432109876543210
  17.                  ;  ---XX-XX-X------ unused, set to 0
  18.                  ;  000------------- AVdd and AVss are the reference voltages
  19.                  ;  -----0---------- do not automatically scan inputs
  20.                  ;  --------X------- read-only status bit
  21.                  ;  ----------0001-- interrupt after each conversion
  22.                  ;  --------------0- configure result as a single buffer
  23.                  ;  ---------------0 always use MUX A settings, do not alternate with B
  24.          mov     w0, ADCON2
  25.  
  26.          mov     #0b0001111100111111 ,w0
  27. ;                   5432109876543210
  28.                  ;  XXX------X------ unused, set to 0
  29.                  ;  ---XXXXX-------- auto-sample time select, not used
  30.                  ;  --------0------- derive Tad from system [code=c]clock, not A/D RC osc
  31.                  ;  ----------XXXXXX A/D clock divider, filled in from ADCS        mov     w0, ADCON3
  32.  
  33.          mov     #0b0000000000000001, w0
  34.                  ;  XXXXXXXX-------- MUX B input selections, not used
  35.                  ;  --------00------ MUX A CH1-CH3 negative input is Vref-
  36.                  ;  ----------0----- MUX A positive inputs: CH1 AN0, CH2 AN1, CH3 AN2
  37.                  ;  -----------0---- MUX A CH0 negative input is Vref-
  38.                  ;  ------------0001 MUX A CH0 positive input is AN1
  39.          mov     w0, ADCHS
  40.  
  41.          mov     #0b1111111111111110, w0
  42.                  ;  11111111111111-- AN15-AN2 in digital mode
  43.                  ;  --------------00 AN0, AN1 in analog mode
  44.          mov     w0, ADPCFG
  45.  
  46.          mov     #0b0000000000000000, w0 ;no channels participate in input scan
  47.          mov     w0, ADCSSL
  48.  
  49.                 bclr    IFS0, #ADIF ;clear any existing A/D interrupt condition
  50.          bset    IEC0, #ADIE ;enable A/D interrupts
  51.  
  52.  
  53.                  bset    ADCON1, #ADON          ;turn on the A/D
  54.  
  55. repeat  #1000                                   ; wait for ADC to stabilize
  56.                 nop


Feldolgozás:
  1. poll_ADIF:
  2.  
  3.                 BTSS.W ADCON1 ,#DONE
  4.                 BRA .-1 ; Keep looping until it completes
  5.                 BCLR.W ADCON1 ,#DONE
  6.         mov     #ADCBUF0, w0
  7.         mov     w0,PR1
  8.         bclr    IFS0, #ADIF
  9.         goto forgatas

A port irány be van állítva.

Ha valaki belenézne és segítene, hálás lennék
Köszönöm
(#) Hp41C válasza Lozsa hozzászólására (») Máj 10, 2009 /
 
Szia!

Nem feltétlenül kell multiplexálni.
Tegyük fel 4 kimeneted van.
Gondold a négy kimenetet egy négyzet négy csúcsának. Minden élre és minden átlóra két szebefordított LED-et képzelj párhuzamosan. Ekkor az ábrán 12 LED van. A portok felé mindegyik csúcs egy-egy áramkorlátozó ellenállással kapcsolódik. (ld. kép.)
A port bitek megfelelő alacsony és magas szintre állításával valamint a nagyimpedanciós állapot beállításával a 12 LED mindegyike kivilágosítható.

led12.JPG
    
(#) El_Pinyo válasza Lozsa hozzászólására (») Máj 10, 2009 /
 
Szia!
Idézet:
„Ha tudtok fejből akkor...”

Fejből éppenséggel nem tudok, de a Google segített.
1 a 16- ból multiplexer/demultiplexer -> CD4067
1 a 8- ból multiplexer/demultiplexer -> CD4051
Üdv.
(#) El_Pinyo válasza Hp41C hozzászólására (») Máj 10, 2009 /
 
Szia!
Szerintem nem jó ez az elrendezés. Pl. D2, D10 LED- nél nem működhet úgy, hogy csak egy LED világítson (Többet nem vizsgáltam).
Üdv.
(#) El_Pinyo válasza El_Pinyo hozzászólására (») Máj 10, 2009 /
 
Ja most látom, hogy Te a TRIS biteket is állítgatnád! Úgy már egész más a helyzet, jó ötlet!
Bár egy kicsivel bonyolultabb lesz a firmware, de nem kell multiplexerekkel szórakozni.
Üdv.
(#) Lozsa válasza El_Pinyo hozzászólására (») Máj 10, 2009 /
 
Köszönöm ez jó lesz!
(#) olala hozzászólása Máj 10, 2009 /
 
Hello Mindenkinek!

Én még egy kezdő vagyok, (illetve leszek ha belefogok ebbe a PIC témába), és indulás előtt szeretném áttanulmányozni az itt elérhető anyagokat, hogy tudjam mire is vállalkozok.
Már van két darab PIC18F4550-es MCU-m, amiket régebben vásároltam, de még programozni nem tudom őket (egyrészt tudás hiánya miatt, másrészt a hardverek sincsenek még meg hozzá).
Az itt (hobbielektronika.hu/cikkek) talált leírások (főleg az assembly nyelvű programok) "sajnos" mind a 16F szériás PIC-ekre íródtak, és a 18F-hez képest vannak eltérések. Ezek miatt szeretnék egy két kérdést feltenni.

1. A 18F4550-ös PIC-en a kimenő jelet a LATx regiszterben írjuk, a bemenő jelet pedig a PORTx regiszterben olvassuk, a kimenet és bemenet közötti váltásokért ugyanúgy a TRISx regiszter felelős?

2.A MOVFF parancs segítségével itt már el lehet kerülni a MOVFW majd MOVWF procedúrát, (hogy akksiba adat be, onnan másol a célregiszterbe?), e helyett egy lépésben megadom a forrást és a célt és már működik is?

3. Az interroupt-okkal is van egy két bizonytalanságom, főként amiatt hogy az én PIC-em
adatlapjában a regiszterek között átcsoportosítások vannak a 16F-es picek regisztereihez képest, és pl ebben már nem létezik olyan regiszter hogy OPTION_REG, (ha van akkor én vagyok vak és elnézést kérek) , helyette van INTCON2 sőt 3-is.

4. Az PORTB4:7 megszakítás esetén hogy lehet megkülönböztetni, hogy melyik port-ról érkezett a megszakítási kérelem? Azt olvastam az adatlapban, hogy az INTCON regiszter RBIF (0.) bitje jelzi azt, ha a 4-7 port valamelyikéről jön a jel. Gondolom egy regiszter segítségével lehet megkülönböztetni a jel forrását, de melyikkel?

5. Ha óra építéshez "órajel oszcillátort" kötök be külső oszcillátornak, akkor azon nem kell osztást állítani a másodperc pontos meghatározásához, ugye? (van egy 32,768 KHz-es órajel oszcillátorom)

6. A PWM és az analóg-digitális konverter használatára hol találhatnék olyan forráskódot ami esetleg magyarul kommentározva van?, (a magyar leírást meg sem merem említeni).
Másik idevonatkozó kérdésem, hogy azt már megértettem hogy a kimenő áram feszültségét és áramerősségét a kimeneten lévő jel gyors ki-be kapcsolgatásával éri el, de ez nem teszi tönkre a rá kötött fogyasztókat?

7. Az USB-s kommunikációhoz szükséges programot assemblyben nagyon banyolult megírni?, vagy mire elér az ember arra a szintre hogy megvalósít egy PC->USB->PIC kommunikációt, addigra úgyis meg kell tanulnia a C-t?

Elképzelhetőnek tartom, hogy a kérdéseim egy részére már megvan a válasz itt a fórumon, sőt van olyan amire már én magam is megtaláltam a választ, de amiben nem voltam biztos azt megkérdeztem mégegyszer. Így utólag is elnézést kérek!
Előre is köszönöm a segítséget!

Üdv. Olala
(#) Kisvé hozzászólása Máj 10, 2009 /
 
Heló!
Van valakinek vmi jó ötlete, hogy hogy lehet pergés mentesítést írni programban?
Mivel nekem az Int-re kellene ez, én a megszakításban írtam egy kb fél másodperces késleltetést, abban bízva, hogy míg a késleltetés lefut, addig meg történik mindenféle pergés. Lehet triviális dolog, de sikeresen megfigyeltem azt, hogy a pic megjegyzi, hogy hány megszakításkérés érkezett, akkor is ha még fut a megszakítás. Így meg bukott a mutatvány.
(#) potyo válasza Kisvé hozzászólására (») Máj 10, 2009 / 4
 
Egyet szögezzünk le: a külső megszakítás nem a pergésre hajlamos jelek számára van kitalálva! Pergésmentesítésre alapvetően két lehetőség van:

1. Ha mégis a külső megszakításlábat használod, akkor a megszakítás bebillenése után vársz valamennyi időt, majd ismét megnézed a lábat, hogy abban a helyzetben van-e, amiben lennie kell. Ha igen, akkor lereagálod, ha nem, akkor ismét vársz. Amikor már stabil, akkor megint törlöd az INTF flaget. Na ez azon bukik el, hogy arra vársz, hogy a láb stabillá váljon, és ez előre nem látható (legfeljebb saccolható), hogy mennyi idő alatt fog megtörténni. Ha ráadásul a megszakítási rutinban vársz, akkor abból egy kicsit komolyabb alkalmazásra nézve akár katasztrofális dolgok is kisülhetnek (anélkül is, de azzal biztosan). Ezért ha így csinálod, akkor sosem szabad a programmegszakítást engedélyezni az INT láb számára, csak a főprogram végtelen ciklusában kell figyelni az INTF bitet.

2. Timerrel időzítve beolvasod a láb állapotát nagyságrandileg 1-10ms időnként. Ha a láb állapota egyezik az előző beolvasás állapotával, akkor csökkentesz egy számlálót, ha nem egyeznek, akkor a számlálót visszaállítod pl. 10-re. Ha a számláló leér nullára, az azt jelenti, hogy a láb stabil, ki lehet értékelni. Ekkor összehasonlítod az előző stabil állapottal, és az összehasonlítás eredményétől függően vagy csinálsz valamit, vagy nem, valamint visszaállítod a számlálót 10-re. Ennek a kapcsolásnak a firmware-jében láthatod az utóbbi módszert alkalmazni. Igaz, hogy C-ben van, de asm-ben is ugyanennyiből áll megcsinálni.
(#) Norberto válasza Kisvé hozzászólására (») Máj 10, 2009 /
 
Idézet:
„a pic megjegyzi, hogy hány megszakításkérés érkezett, akkor is ha még fut a megszakítás”


Pedig elméletileg ilyen nemigen létezhet, mivel megszakítás elfogadásakor a PIC úgy tudom, letiltja a további megszakításokat. Tehát elvileg nem kellene sehol megjegyeznie, hogy közben befutott még egy megszakítás ugyanarról a forrásról.

Próbáld meg azt, hogy törlöd a gombnyomásos megszakítás-rutin elején (sőt, próbáld ki majd azt is, hogy a rutin végén! is törlöd ) az adott megszakítás folyamatát/bekövetkezését jelző flag-bitet.
(#) denon888 hozzászólása Máj 10, 2009 /
 
Sziasztok!
Szeretném megépíteni ezt a kapcsolást.Bővebben: Link.A problémám ezzel kapcsolatban a basic-ben irt és mellékelt programot nem tudom lefordítani,mindig a mellékelt hibaüzenet jelenik meg.Mi lehet a hiba, mert szerintem ennek működnie kellene. Minden segítséget szívesen veszek!
(#) potyo válasza Norberto hozzászólására (») Máj 10, 2009 /
 
Idézet:
„sőt, próbáld ki majd azt is, hogy a rutin végén! is törlöd”


Pontosan ez történik, a megszakítási rutin alatt újból bebillen a flag, és amikor kilép a megszakítási rutinból, akkor ismét bele is lép, mert a flag be van billenve.
(#) Kisvé válasza potyo hozzászólására (») Máj 10, 2009 /
 
Köszi szépen!
Első körben kipróbálom, hogy végén is törlöm az INTF-et, ha úgy nem jönne össze, akkor neki látók Potyo általa javasolt 2. számú megoldásnak.
(#) benjami válasza steev hozzászólására (») Máj 10, 2009 /
 
Én régebben így csináltam a dspic30f4013-as A/D kezelését, igaz C-ben. Az a lényeg hogy rá lehet venni őkelmét hogy folyamatosan több csatorna A/D átalakítását is csinálja meg és az egyes csatornák eredményeit tegye be az ADCBUFx regiszterekbe. A programomban 8 A/D csatorna van használva, ahol az Initben mind a 8-at beolvastatom, a Polling-ban viszont egyszerre csak 1 csatornával foglalkozom. A feltételes fordítás csak azért van benne, mert debuggoláskor kihagytam az ICD/Pickit felé menő lábakat az A/D átalakításból hogy ne zavarja a kommunikációt.

adconv.c
    
(#) yankoo hozzászólása Máj 10, 2009 /
 
Üdv mindenkinek!

Építettem egy PIC égetőt 16F877-hez
Bővebben: Link

Lemartam a nyákot megépítettem tökéletes működik(ött)!

Felprogramoztam az IC-t minden jól ment felismerte megirta. Másnap viszont már nem ismerte fel a PIC-t Lehet hogy kinyirtam a PIC-t? Három led van a programozon üresen mindhárom led villog keresi a PIC-t. Viszont ha beteszem a PIC-t akkor csak a zöld és piros (power, programm) villog 2x a CLOCK nem. A CLOCK mit jelez nekem vissza? A kapcsolást átnéztem nincs baja és amint mondtam irtam is vele de most nem ismeri fel a PIC-t.
(#) benjami válasza yankoo hozzászólására (») Máj 10, 2009 /
 
Szerintem már vagy százszor be lett linkelve watt írása, hogy miért nem működik mindig a JDM égető?
(#) Hp41C hozzászólása Máj 10, 2009 /
 
Sziasztok!
A propeller óra bővítése során 16F876 kontrolleren az MSSP modullal sikerült az I2C RTC kezelése. Át szerettem volna térni a 16F886 típusra.
A már megírt programmal a 16F876 jól működik, a 16F886-on nem tudja kezelni az RTC-t.
Ugyan abban a készülékben, ugyan azzal az MSSP (I2C master FOSC/4), TRISC (Scl és Sda input) beállítással, órajel leosztással (FOSC 20MHz, SSPADD 0x31), programozott (nem megszakításos) kiolvasó rutinokkal próbálkozom.

Az adatlapon eltérés, amit találtam, hogy a 16F886-nak van SSPMSK regisztere, de annak csak slave módban van hatása.

Az Errata-ban arra térnek csak ki, a master módban ha a slave nyújtani akarja a Scl jelet, akkor a modul rosszul működik.

Csak a pic és az RTC van az I2C buszon.

Ugyan azokon a lábakon (RC3 - Scl, RC4 - Sda) szoftveres I2C kezeléssel a 16F886 is kezelni tudja az RTC-t 5us SCL alacsony és 5us magas időzítéssel.

Milyen beállítási különbség van a két típus között?
(#) Prince86 válasza szilva hozzászólására (») Máj 10, 2009 /
 
Értem!
Nem rossz ez a C nyelv, sokmindent leegyszerűsít főleg a matematikai műveleteket, talán egyszer beletanulok majd abba is. Lassan eljutok oda hogy leteszteljem a műszer pontosságát, csak még a jeladó felfogatásán dolgozok.
(#) trudnai válasza olala hozzászólására (») Máj 11, 2009 / 4
 
Szia Olala,

Szerintem tul sok mindent kerdeztel egyszerre, talan nem tudtak a tobbiek hol vagy hol erdemes kezdeni a valaszokat es ezert nem reagaltak. Erdemesebb lenne inkabb kisebb lepesekben tanulni vagy haladni es egyesevel kerdezni mint igy omlesztve.

Idézet:
„1. A 18F4550-ös PIC-en a kimenő jelet a LATx regiszterben írjuk, a bemenő jelet pedig a PORTx regiszterben olvassuk, a kimenet és bemenet közötti váltásokért ugyanúgy a TRISx regiszter felelős?”


Igen, TRIS a felelos tovabbra is es ugyanugy amogy a 16F-eknel a port labakat mas belso periferiak is hasznalhatjak ugyhogy azt is erdemes az adatlapbol kiolvasni hogy hogyan kell az adott portot inicializalni. Ami a LAT-ot illeti, az a Latency szobol ered, talan kesleltetesnek lehet magyarra forditani, de szerencsesebb az "arnyek" szo hasznalata. Magyaran csak annyi a kulonbseg, hogy mikor a LATx-ba irsz, akkor amit ebbe a regiszterbe tettel azt megjegyzi es kozben atmasolja a PORT-ra. Ezzel az un RMW hibat kuszobolik ki es teszik egyszerubbe az eletunket.

Idézet:
„2.A MOVFF parancs segítségével itt már el lehet kerülni a MOVFW majd MOVWF procedúrát, (hogy akksiba adat be, onnan másol a célregiszterbe?), e helyett egy lépésben megadom a forrást és a célt és már működik is?”


Igen, de mas elonye is van, pl, hogy nem kell bank szelekciot csinalni hozza.

Idézet:
„3. Az interroupt-okkal is van egy két bizonytalanságom, főként amiatt hogy az én PIC-em
adatlapjában a regiszterek között átcsoportosítások vannak a 16F-es picek regisztereihez képest, és pl ebben már nem létezik olyan regiszter hogy OPTION_REG, (ha van akkor én vagyok vak és elnézést kérek) , helyette van INTCON2 sőt 3-is.”


Ez minden PIC-nel igy van, marmint hogy a regiszterek atkerulhetnek mashova ill funkciok maskepp kezelodnek le. Ezt mindig az adatlapbol ki kell olvasni, ez a legjobb modszer. De azt is tanulmanyozd at, hogy a 18F-nel lehet ket szintu interruptokat is kezelni es bizonyos szuk hatarok kozott lehet automatikus kontextus mentest is csinaltatni.

Idézet:
„4. Az PORTB4:7 megszakítás esetén hogy lehet megkülönböztetni, hogy melyik port-ról érkezett a megszakítási kérelem? Azt olvastam az adatlapban, hogy az INTCON regiszter RBIF (0.) bitje jelzi azt, ha a 4-7 port valamelyikéről jön a jel. Gondolom egy regiszter segítségével lehet megkülönböztetni a jel forrását, de melyikkel?”


Le pollozod... Azaz bejon a megszakitas, a megszakitas kezeloben lekerdezed mi okozta a megszakitast, rajossz az RBIF magas tehat a port 4-7 valamelyike okozta, es akkor BTFSS-el (vagy mas modszerrel) megnezed melyik portlab magas...

Idézet:
„5. Ha óra építéshez "órajel oszcillátort" kötök be külső oszcillátornak, akkor azon nem kell osztást állítani a másodperc pontos meghatározásához, ugye? (van egy 32,768 KHz-es órajel oszcillátorom)”


16 bites timernel egy ilyen kvartzcal epp 2 mp-enkent kapsz megszakitast... Most keso van es lusta vagyok bele nezni az adatlapba, hogy hova lehet az ora kvartzot kotni, de pl olyan trukk is elhangzott itt (sajnos nem emlekszem mar kitol, elnezest!) hogy a CCP modullal vizsgaljak az 1 ill fel masodkperc elteltet. De gondolom itt meg nem tartasz, hogy ezen gondolkozz...

Idézet:
„6. A PWM és az analóg-digitális konverter használatára hol találhatnék olyan forráskódot ami esetleg magyarul kommentározva van?, (a magyar leírást meg sem merem említeni).”


Erre nem tudok valaszolni, valahol volt egy magyarra forditott (vagy ujra irt?) adatlap (datasheet) 16F84-hez, meg egy magyar site is volt valahol de most nem tudom elo banyaszni.

Idézet:
„Másik idevonatkozó kérdésem, hogy azt már megértettem hogy a kimenő áram feszültségét és áramerősségét a kimeneten lévő jel gyors ki-be kapcsolgatásával éri el, de ez nem teszi tönkre a rá kötött fogyasztókat?”


Igy van, ez a PWM... Egy adott frekvenciaval dolgozik, az utem elejen felmegy a jel, es ha az utem vegeig kitart akkor 100%-os a kitoltottsege (100%-os munka fazisa van), ha pedig epp a felenel lemegy, akkor kapod a szabalyos negyszog jelet (50%-os munka fazis). Ha pl 5V-tal dolgozol, akkor a 100% reprezentalja az 5V-ot es az 50% a 2.5V-ot...

A fogyasztoknal csak arra kell ugyelni, hogy a kapcsolo elemek az adott frekvenciat kapcsolni legyenek kepesek. De ez a frekvencia viszonylag alacsony, alkalmazastol fuggoen lehet 50Hz - 400kHz. Hallhato tartomanyban azonban nem szoktak dolgozni mivel ez esetben zavaro sipolo hangot is hallhatsz (pl rakapcsolt tekercsek miatt). Magas tartomannyal meg elektro magnezes interferencia alakulhat ki, de ez valoszinuleg egyenlore nem fog nagyon erdekelni.

Idézet:
„7. Az USB-s kommunikációhoz szükséges programot assemblyben nagyon banyolult megírni?, vagy mire elér az ember arra a szintre hogy megvalósít egy PC->USB->PIC kommunikációt, addigra úgyis meg kell tanulnia a C-t?”


Igen. Szilva sem ma kezdte, en sem, bar mindkettonknek ujdonsag volt USB-s eszkozt csinalni, az assembly USB framework megirasa vagy masfel honapig tartott ugy, hogy szinte minden nap hajnali 3-ig gornyedtunk es napkozben is legtobbszor a konyveket olvastuk hogy estere ki tudjuk probalni az elkepzelesekett.

Van jopar USB framework keszen, legtobbje C-ben, es azokat erdemes hasznalni. Meg a Microchip-nek is van ilyen framework-je, de a PIC-ekkel torteno ismerkedest nem itt kezdenem. Ha mar a LED villogtatason kivul jopar kommunikacios projecten tul vagy (marmint olyanon amit Te csinaltal, nem aminek kapcsolasi rajzat es firmware-et letoltod a netrol) akkor utana az USB-nek is neki foghatsz -- ez csak egy barati jotanacs.
(#) potyo válasza trudnai hozzászólására (») Máj 11, 2009 /
 
Szerintem a LAT inkább a latch rövidítése, ami zárat, biztonsági zárat jelent a szótár szerint, de elektronikában talán (átmeneti) tárolóként lehetne lefordítani. Tárolja azt az állapotot, amit kiírtunk a portra.
(#) szilva válasza El_Pinyo hozzászólására (») Máj 11, 2009 /
 
Ezek analóg multiplexerek, nem igazán ilyenre valók. Én inkább a 74154-est (4-ről 16-ra) vagy 74159-est (szintén 4-ről 16-ra, de OC kimenet, LED-ekhez jobb választás), esetleg 74138-ast (3-ról 8-ra) ajánlanék. Esetleg ezeknek a CMOS változatát.

Szerk: a 7445/74145 és variációi is alkalmasak még a feladatra (4-ről 10-re), ezek kifejezetten nagy áramot képesek (80mA) nyelni a kimeneteken, szintén jók LED-ekhez.
(#) trudnai válasza potyo hozzászólására (») Máj 11, 2009 /
 
Idézet:
„Szerintem a LAT inkább a latch rövidítése, ami zárat, biztonsági zárat jelent a szótár szerint, de elektronikában talán (átmeneti) tárolóként lehetne lefordítani. Tárolja azt az állapotot, amit kiírtunk a portra.”


Teljesen igazad van. Szoktam is hasznalni a latch szot, nem ertem miert irtam latency-t
(#) szilva válasza denon888 hozzászólására (») Máj 11, 2009 /
 
A hibaüzenet arra vonatkozik, hogy a próbaverziós fordítóban nincs engedélyezve a 32 bites "long" változók használata.
(#) olala válasza trudnai hozzászólására (») Máj 11, 2009 /
 
Szia Trudnai!

Már utólag én is rájöttem, hogy majdnem egy fél oldalt foglal el csak az én egyetlen hozzászólásom, és jobb lett volna egyenként megkérdezni a dolgokat. Köszönöm, hogy te azért vállalkoztál a feladatra és megválaszoltad a kérdéseimet.
A tanácsodat az alapos tanulással kapcsolatban megfogadom és nem akarok egyből világot megrengető dolgokba fogni, amikhez úgy sincs még kellő tudásom.
Nagyjából megértettem amiket írtál, és beszerzem a szükséges dolgokat, hogy el tudjam kezdeni a próbálkozást. Majd élesben kiderül, hogy hol vannak még a nagyon homályos részek.

Üdv. Olala

(#) tom75 hozzászólása Máj 11, 2009 /
 
Hétvégén csináltam egy progit a mikro c-ben,
Most is szerettem volna probálkozni, de azt írja ki, hogy 356 main function is not defined "356 hiba kód main függvény nincs definálva."
Ezt aaz üzenetet akkor is meg kapom ha nincs semmi a progranban csak a void main() szükséges sor.
Mit állítottam el?
(#) kisszee válasza tom75 hozzászólására (») Máj 11, 2009 /
 
Én úgy tudom, hogy ez a hiba akkor van, ha nem kreáltál a programhoz projectet.

Próbáld meg a Project->New Project -tel; ha így sem sikerül, akkor nem tudom.
(#) icserny válasza tom75 hozzászólására (») Máj 11, 2009 /
 
Idézet:
„356 main function is not defined "356 hiba kód main függvény nincs definálva." Ezt aaz üzenetet akkor is meg kapom ha nincs semmi a progranban csak a void main() szükséges sor.”

Nem tudom, hogy a MikroC-nél hogy van, de rendes C fordítóknál a void main() csak deklaráció, nem pedig definíció. A definícióhoz a függvény implementációját is meg kell adni, ami minimálisan egy {} zárójelpár.

Így mit mond?
  1. void main() {}
(#) tom75 válasza icserny hozzászólására (») Máj 11, 2009 /
 
Készítettem hozzá új project-et,

Úgy van nekem is ahogy a mintát írtad.

De ha a példát fordítom le akkor nem ír ki ilyet.

Csináltam egy új project-et igy már jó
köszi
(#) tom75 hozzászólása Máj 11, 2009 /
 
Mikro c-ben, hogy tudom azt beállítani hogy a pl a D port 2-es lába legyen bemenet?
"ccs-ben pin_a0"
leírásban nem találtam.

Valaki tud segíteni?

Köszi
(#) potyo válasza tom75 hozzászólására (») Máj 11, 2009 /
 
TRISD regiszterrel.
Következő: »»   480 / 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