Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   500 / 1320
(#) menyus válasza trudnai hozzászólására (») Jún 8, 2009 /
 
Értem, köszönöm. Valószínűleg érintkezési hiba lehet ahogy írtad mert azóta is előfordult vagy 3X, tehát nem az a 2 sor okozta a problémát. Kicsít hajlítottam azon az rugalmas alpakka fülön ami a PIC et odaszorítja a panelhez. Azóta már felprogramoztam vagy 20 db ot és csak 2X fordult elő. Előtte meg minden 5. kb. hibát jelzett . Megpróbálom a cinezést is ahogy írtad, de a legjobb lenne ha learanyoztatnám a PAD eket. Van egy ötvös/ékszerész ismerősöm majd rákérdezek mi ennek a módja, valami vegyi úton. Sajnálom azt a 20 ezret egy gyári DIL/SOT átalakítóra mert ritkán kell, illetve most kellett először.

köszi
(#) trudnai válasza menyus hozzászólására (») Jún 8, 2009 / 1
 
A otvosnek kell tudnia forrasztani, csakhat az arany draga -- az irari arany 9ct vagy meg annal is kisebb...

Amugy itt van egy pelda, hogy a Japanok hogy csinaljak
(#) kissi válasza Kapitány002 hozzászólására (») Jún 9, 2009 /
 
Idézet:
„A kérdésem az lenne, hogyan tudom megadni a PIC-nek azt, hogy a konstans amit éppen elküldök az micsoda és, hogy az EEPROM-ba hova írja be?”


A programot Te írod, tehát tudod, hogy a soros porton adott pl. *1223 jelentése: *--> adás kezdődik, 12 --> konstans1 23--> offset1 és nyilván ezeket szintén Te oda mented az EEPROM-ba ahova szeretnéd !
A második kérdésre a :google: javaslom!

Steve
(#) watt válasza mate_x hozzászólására (») Jún 9, 2009 /
 
Milyen hosszúak a kábelek és miből készültek? (LPT?, ICSP?) Van kondi a PIC lábán közvetlenül az áramkörben? Vagy milyen módon programozod? (foglalatban?, áramkörben?) Esetleg egy kép a felépítményről? Próbáltad csökkenteni az égetés sebességét a programban?
(#) Hp41C válasza Kapitány002 hozzászólására (») Jún 9, 2009 /
 
Szia!

Ugyan sem nem C, sem nem Pascal, de szerintem a lényeget elmagyarázza. A programot assembly-ben írtam és tartalmazza a soros vonal vételét, a parancsok dekódolását, végrehajtását. Jól fel van kommentezve.

Program

Remélem legalább ötletet ad a megoldáshoz...
(#) szilva válasza tomi134 hozzászólására (») Jún 9, 2009 /
 
Hogy mit csinálsz egész pontosan?
(#) trudnai válasza Kapitány002 hozzászólására (») Jún 9, 2009 /
 
Idézet:
„A program megírásával vannak problémáim. A programot pascal nelven szeretém megírni (hozzám ez áll közelebb), a számítógépes segédprogram Delphi nyelven fog íródni.”


Egy javaslat: Eloszor jobb lenne tisztazni a fogalmakat, hogy a fejben ill a leirasokban jol elkulonuljon mikor mirol van szo. Tehat "program" helyett jobb lenne ha a PIC eseteben "firmware", mig a PC eseteben "alkalmazas"-t hasznalnal igy konnyebben megertheto mikor melyik "program"-rol beszelsz

Idézet:
„A kérdésem az lenne, hogyan tudom megadni a PIC-nek azt, hogy a konstans amit éppen elküldök az micsoda és, hogy az EEPROM-ba hova írja be?”


Fel kell allitanod egy un. kommunikacios protokollt. Ez abbol all nagyjabol, hogy meghatarozod egy blokk adathalmaz amit atkuldesz mit tartalmaz. Pl. egy szokasos elrendezes:
  1. [fejlec][adat][crc]

ezutan kifejted a fejlec mi tartalmaz, pl:
  1. [tipus][hossz]

Utana meghatarozod milyen tipusok lehetnek, pl a konstans tipusa, de lehet bonyolitani is... A "hossz"-t gondolom nem kell megmagyarazni, a kuldendo adat hosszat adja meg, mig a "crc"-vel lehet egy ellenorzo szamot is beiktatni igy meg tudod nezni a vett adat valodi-e, nem serult-e meg az atvitel soran...

Es akkor lehet meg bonyolitani ezt az egeszet, hogy a PIC mikor vette ad adast akkor ezt meg is kell mondja a PC-nek, es akkor ACK vagy NACK csomagokkal (tipusokkal) valaszolnia kell a PC fele, ill ha X ideig nem ad valaszt akkor csomagot automatan meg kell ismetelni, ha Y ismetles utan sem valaszol akkor pedig a PC alkalmazas feldob egy hiba ablakot stb stb stb.

Idézet:
„A másik kérdésem az lenne, hogy hol találok olyan C vagy pascal nyelven írt PIC mintaprogramokat, amelyek szájbarágós módon sorról-sorra elmagyarázzák a program működését? A segítségeteket előre is köszönöm!”


Nem javasolnam ezt, ha sajat magad probalod megirni sokkal tobbet tanulsz, de ha mindenkeppen ilyenek utan szeretnel kutatni a neten akkor microPascal vagy JAL nyelven megirt firmware-ekre keress ra a google-ban... (A JAL egy GNU-s tehat ingyenes Pascal ill. ahhoz nagyon kozel allo fordito kifejezetten PIC-re)
(#) trudnai válasza tomi134 hozzászólására (») Jún 9, 2009 /
 
Idézet:
„Kipróbáltam az ötletedet lefutattam Proteusnak a szimulátorba, de sajna nem változott semmit”


Korabban pedig:

Idézet:
„Próbálkoztam már az RL1_ON_time con 1000 * 3 'sec. Relay ON time módosításával de nem jártam sikerrel.”


Nekem az az erzesem, hogy vagy nem fordult le amit csinalsz vagy rossz HEX file-t adsz oda a Proteus-nak... A Te ill icserny fele megoldasnak mutatnia kellene valamifele valtozast, meg akkor is ha nem epp az amire szamitasz. Ellenorizd le, hogy a HEX megvaltozott-e, diff-el nezd meg mi valtozott (nyilvan ha csak egy szamot valtoztatsz akkor annal valtozasat egyszeru lesz kiszurni es ellenorizni milyen ertekre valtozott, ha pedig csak bele szurtal par sort azt is latni kellene tudni). Ezekutan a Proteusban ellenorizd mit olvas be, hogyan kell megadni neki, hogy uj HEX-et vegyen figyelembe stb...
(#) NickE válasza NickE hozzászólására (») Jún 9, 2009 /
 
Saját kérdésemet megválaszolom, a Microchip fórumon megtaláltam a tuttit:

  1. void LCD_String(const rom char *str){
  2. ...
  3. }


Próbálam ezt is tegnap, elég ostoba hibát követtem el. A függvényben átírtam a formális paraméterlistát, de a headerben elfelejtettem. Mondjuk ha kicsit okosabb lenne a compiler, akkor erre szerintem nem type mismatch hibaüzenetet kellene adnia, hanem a header és függvény leírás nem egyezik, vagy valami ilyesmit.
(#) napalm hozzászólása Jún 9, 2009 /
 
Sziasztok!

Mekkora árammal lehet terhelni egy PIC kimenetét? (pl. 16F877)
RC autóra készítenék világításszettet nagy fényerejű LEDekkel. 8 portot használnék, 2 led/láb felállásban.
(#) vizor válasza napalm hozzászólására (») Jún 9, 2009 /
 
Az adatlapban a DC karakterisztikánál találod, a "maximum output current sunk/sourced by any I/O pin" adatnál.

Pl. 16F877-nél ez 25mA lábanként (151. oldal). Használj tranzisztoros erősítést.
(#) napalm válasza vizor hozzászólására (») Jún 9, 2009 /
 
Köszi szépen!
(#) trudnai válasza NickE hozzászólására (») Jún 9, 2009 /
 
Idézet:
„Mondjuk ha kicsit okosabb lenne a compiler, akkor erre szerintem nem type mismatch hibaüzenetet kellene adnia, hanem a header és függvény leírás nem egyezik, vagy valami ilyesmit.”


Az ANSI C az nem C++! Nincsen benne function overloading sem igy function pattern ellenorzes sem. Ez lehetove teszi az egyszeru fordito felepitest es a loosed coupling elvet egyszerre - cserebe a warning uzenetek gyakran hibakra utalnak, igy azok helyes ertelmezese elkerulhetetlen feladat a fejleszto szamara.

Sajnos a legtobb ehhez hasonlo esetek felismerese csak az adott C implementacioban torteno fejlesztesi tapasztalatok alapjan sajatithato el, de a jo hir, hogy a google gyakran megvalaszolja a kerdeseket -- mint ahogy Te is rabukkantal a Microchip forumon a valaszra
(#) watt válasza napalm hozzászólására (») Jún 9, 2009 /
 
Figyelembe kell venni a teljes áramterhelést is! (az is ott van az adatlapban)
(#) mate_x válasza watt hozzászólására (») Jún 9, 2009 /
 
Hello!
A kábel kb. 90cm és, ahogyan a képen is láthatod, hangszórókábellel kötöttem hozzá egy lpt csatlakozóhoz.
Az égetés sebességét még nem próbáltam csökkenteni, de megpróbálom.
A nyákterven a szövegemet kitöröltem nehogy bezavarjon.

Üdv:
mate_x
(#) csiefjancsi hozzászólása Jún 9, 2009 /
 
Sziasztok!
Kérlek segítsetek!
Ismét visszatértem a TCN75-ös szenzorhoz hogy végre kiólvassam a hőmérsékletet belőle! Ezelőtt próbáltam a DS1820-at és működött.

PicKit2 és 16F690 ről próbálom de sehogyan sem működik! Már elolvastam ebben a témában mindent amit találtam és csak a kudarc. OshonBasic-ben próbálkozom . Még az AVR oldalt is megnéztem de semmi ötletem sincs már! Kezdő révén az Oshon oldaláról megnéztem a mintapéldákat, összekomponáltam de semmi, nem értem ezt az egészet!
Ha valaki tudna segíteni, egy pár kézzelfogható példával nagyon megköszönném .

Előre is köszönöm.
(#) trudnai válasza csiefjancsi hozzászólására (») Jún 9, 2009 /
 
Idézet:
„Ismét visszatértem a TCN75-ös szenzorhoz hogy végre kiólvassam a hőmérsékletet belőle! Ezelőtt próbáltam a DS1820-at és működött.

PicKit2 és 16F690 ről próbálom de sehogyan sem működik! Már elolvastam ebben a témában mindent amit találtam és csak a kudarc. OshonBasic-ben próbálkozom . Még az AVR oldalt is megnéztem de semmi ötletem sincs már! Kezdő révén az Oshon oldaláról megnéztem a mintapéldákat, összekomponáltam de semmi, nem értem ezt az egészet!
Ha valaki tudna segíteni, egy pár kézzelfogható példával nagyon megköszönném .”


Ez nem igy megy! Te magad irtad mar mindent elolvastal a temaval kapcsolatosan, akkor mi mast mutathatnank?

Inkabb szedd ossze a gondolataidat, es probaldd megfogalmazni mi nem jo abban amit csinalsz, hol tartasz es mivel probalkoztal eddig. Csatold a kapcsolasi rajzot es a programot amivel kiserletezel -- ugye a leirassal, hogy hol akad el szerinted.

Ui: PICkit2-nek nem sok koze lehet ehhez szerintem hacsak nem a felprogramozassal van a baj avagy az eszkoz debuggolasaval...
(#) benjami válasza csiefjancsi hozzászólására (») Jún 9, 2009 /
 
Ha már egyszer PicKit2-t használsz, nem értem miért nem használod ki a debugolási lehetőségét egy olyan PIC-el ami képes rá. Ha azzal már megy a kommunikáció utána már egyszerű áttenni a programot a 690-re.
(#) icserny válasza Kapitány002 hozzászólására (») Jún 9, 2009 /
 
Idézet:
„hol találok olyan C vagy pascal nyelven írt PIC mintaprogramokat, amelyek szájbarágós módon sorról-sorra elmagyarázzák a program működését?”

Ez attól függ,hogy konkrétan melyik típusról van szó. A PIC16, PIC18, PIC24, PIC32 vagy a dsPIC30/33 programozásban kissé eltérnek egymástól ...

(#) tomi134 válasza trudnai hozzászólására (») Jún 9, 2009 /
 
Szia nagyon szepen koszonom hogy probalsz segiteni!
Proteusban csak anyit csinaltam, hogy megadtam neki a helyet honnan olvassa be a hex file-t.
Konkretan a hex-be nem neztem bele, de a merete meg valtozott miutan tobb pause-t ilesztettem be a basic file-ba. A basic file-t meg exportaltam hex-be MPLAB-al.
Mi az a (diff)? Bocsi a buta kerdesert de meg nagyon kezdo vagyok.
UI: Ezer bocsanat az ekezeteker de sajnos csak angol bilentyuzetem van.
(#) watt válasza mate_x hozzászólására (») Jún 10, 2009 /
 
A képen én csak egy kapcsolót látok. Az a kapcsoló mire szolgál?
A táplálás miről megy, melyik kapcsolást építetted meg?

A kábeleket rövidítsd le, amennyire csak lehet(10..20cm), legalább addig, amíg elindul. Ha már működik, utána lehet kísérletet tenni a hosszabbításra, de valószínű, hogy hangszóró kábelekkel nem lehet ilyen hosszra elvinni a jelet, de mással sem. Nekem már a 60cm is határérték UTP kábellel úgy, hogy a jelvezetékek csavart érpárja egy test vezeték...

A nyákrajzon nem sok látszik, kicsi a kép és a felbontás is pocsék.

(#) watt válasza watt hozzászólására (») Jún 10, 2009 /
 
Idézet:
„Nekem már a 60cm is határérték UTP kábellel”

A cikkben 1m-ert írtam, de UTP kábellel a fenti megoldás figyelembe vételével. Nagyon sok függ az LPT port minőségétől is, ami PC alaplaponként változó...
(#) trudnai válasza tomi134 hozzászólására (») Jún 10, 2009 /
 
Idézet:
„Proteusban csak anyit csinaltam, hogy megadtam neki a helyet honnan olvassa be a hex file-t.
Konkretan a hex-be nem neztem bele, de a merete meg valtozott miutan tobb pause-t ilesztettem be a basic file-ba. A basic file-t meg exportaltam hex-be MPLAB-al.”


Hogyan "exportaltad"? Ugy erted leforditottad a programod? Milyen basic-ed van amugy?

Idézet:
„Mi az a (diff)? Bocsi a buta kerdesert de meg nagyon kezdo vagyok.”


Olyan program ami megmutatja a kulonbsegeket ket szovegfile kozt. Pl. az eredeti unix-os (parancs soros) 'diff' segedprogram, vagy windows alatt WinDiff, Kdiff3 ill. WinMerge hirtelen ami eszembe jut hirtelen. Elteszed az eredeti HEX file-t, majd eloveszed az ujat es valamelyik diff programmal megnezed mi valtozott... Ha semmi akkor nyilvan gaz van... Pl ha bele teszel a programodba meg 3 sort akkor nagy a valoszinusege, hogy valami nem stimmel, bar meg mindig lehet a fordito optimalizacios kepessegenek koszonheto effektus, ezert kell a diff-el ranezni.
[off]
Idézet:
„UI: Ezer bocsanat az ekezeteker de sajnos csak angol bilentyuzetem van.”


Az nem annyira zavar masokat, csak a helyesirasi hibak - mar bocsanat
(#) szilva válasza tomi134 hozzászólására (») Jún 10, 2009 /
 
Idézet:
„A basic file-t meg exportaltam hex-be MPLAB-al.”


Erre már kérdeztem tegnap, de mintha nem láttam volna választ: pontosan mit is csinálsz ilyenkor?
(#) trudnai válasza trudnai hozzászólására (») Jún 10, 2009 /
 
Kiegeszites

Idézet:
„Pl ha bele teszel a programodba meg 3 sort akkor nagy a valoszinusege, hogy valami nem stimmel”


... marmint ahogy mondtad, hogy a HEX merete nem valtozott...

De kozben rajottem, hogy sok fordito kitolti a program memoriat zerusokkal, tehat akar tenyleg lehet jo is, es nemcsk az optimalizacio miatt ahogy azt korabban emlitettem... Magyaran marad a diff
(#) tibi65 hozzászólása Jún 10, 2009 /
 
Helló mindenkinek! Szeretnék megkérni valakit hogy segítsen rendbe rakni a kommunikációt ebben a programban, mert még csak kezdő vagyok és nem igazán tudom mi nem jó, de már pár napom rá ment meg egy picem a segítséget előre is köszönöm.

ttGOO.asm
    
(#) watt válasza tibi65 hozzászólására (») Jún 10, 2009 /
 
Jó lenne, ha leírnád, hogy mit szeretnél a programtól és mit csinál ill. nem csinál úgy! Egy programot még akkor is nehéz megérteni, ha más írta, ha tudjuk mi a feladata és jól működik, hát még akkor ha ezekből egyik sem teljesül...
A frekit is add meg.
(#) tibi65 válasza watt hozzászólására (») Jún 10, 2009 /
 
Szia ezt a progit itt találtam a hobbielektronika oldalon a gyűjtemény/előadás anyagok közt ,elvileg három konnektort vezérel pc-vel, de hiába küldök neki adatot nem válaszol, pic szimulátor ide -ben viszont igen ezért nem értem
(#) trudnai válasza tibi65 hozzászólására (») Jún 10, 2009 /
 
Idézet:
„ezt a progit itt találtam a hobbielektronika oldalon a gyűjtemény/előadás anyagok közt ,elvileg három konnektort vezérel pc-vel, de hiába küldök neki adatot nem válaszol, pic szimulátor ide -ben viszont igen ezért nem értem”


Lehet a kapcsolasod nem jo vagy mas erteku kristalyt tettel ra?

Amugy irdd meg annak aki ezt a programot felrakta, hogy az interrupt kezeloben a kontextus mentes nem jo! Azt mindenkeppen ki kell javitani ahhoz, hogy stabil firmware-t kapjal.

UI: Ja es a GIE-t sem szabadna pancsolni az ISR-ben... Nem ertem miert tesznek fel olyan projectet ami nem jo! sigh!
(#) tibi65 válasza trudnai hozzászólására (») Jún 10, 2009 /
 
Szia! csak az a baj hogy 2 hónapja nem lépet be :kontextus mentes nem jó: ez melyik rész? hátha ki tudom bogarászni legalább tanulok is egyben mert egy két dolgot már sikerült helyre tenni
Következő: »»   500 / 1320
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