|
Szerző |
Üzenet |
atta
arany tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 228
|
lacc: a hardver ok? Esetleg kitehetnéd a soros port <-> PIC összekötést + milyen kábelt használsz? Milyen RS232 csatlakozót?
atta
|
csüt. márc. 17, 2005 11:52 |
|
|
lacc
arany tag
Csatlakozott: kedd dec. 07, 2004 12:46 Hozzászólások: 323
|
Ok, ertem, viszont a valtozok ertekeit meg sajnos nem lattam viszont a VB progiban.
del korul merek!
Ja, az egeto mar csak ma van nalam
peace!
|
csüt. márc. 17, 2005 11:33 |
|
|
.watt
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3333 Tartózkodási hely: Új nick-em watt (pont nélkül)
|
Ja van még valami! Azt írod előbb kapja meg a 82-őt. Ez csak azért látszik úgy, mert felül van a 82,82. Valóságban először elküldi a számokat, majd visszakapja a 82,82-őt(jó esetben ugyanazt kéne amit elküld).
A listázásnál mindig a 0. sorra írok, ezért minden új adat felülre kerül sé az előzőt letolja. Ezt azért szeretem így, mert mindig fennt van amire kíváncsi vagyok..
|
csüt. márc. 17, 2005 9:30 |
|
|
.watt
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3333 Tartózkodási hely: Új nick-em watt (pont nélkül)
|
Nem tudom mit szól a program 02 formához, inkább írd azt, hogy 2.
A Timer1 csúszása minimális, és ha ez számítana, akkor simán kompenzálható a feltöltő értékkel!
Idézet: Ezt nem ertem. a periodusido a 15ms nem? akkor csak van vmi...
Igen, nekem otthon 15ms- volt, de hogy a Te PIC-ed órajele is 8MHz-e, azt nem tudom(RC oszci nem életbiztosítás. Azért van tuningolási lehetőség is. A méréseknél kiderül majd.
A soros port SPBRG értékét is lehet kicsit tuningolni egyesével. Nekem 1-2 értéket is engedett néha, és még mindig jó volt az átvitel rövid csomagok esetében.
Azt is át kell nézni, hogy minden jól van e beállítva az SPBRGH körül! (ezt én nem néztem meg eddig)
|
csüt. márc. 17, 2005 9:23 |
|
|
lacc
arany tag
Csatlakozott: kedd dec. 07, 2004 12:46 Hozzászólások: 323
|
igen! VB progival. beirom az erteket!
kimenet:
ido picrol: 82,82
kuldes: 02,02 (pl)
kb igy valahogy, pontos szoveget nemtom, de te biztos tudod most nemtudom kiprobalni.
Idézet: A megszakításon belül a számláló nincs leállítva, tehát a megszakítás pillanatában feltöltődik az új értékkel és számol. amig eljon a feltoltes pillanata, addig a timer1 mar nem 0-n van, tehat szamolt kicsit. ekkor jon a feltoltese. szimulatorbol olvastam a dolgokat. De ez lehet hogy tenyleg nemgond. Idézet: Esetleg az órajel sebességével igen. Ez jelentkezhet a periódus időben és a soros átvitel baud értékében is.
Ezt nem ertem. a periodusido a 15ms nem? akkor csak van vmi...
|
csüt. márc. 17, 2005 9:13 |
|
|
.watt
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3333 Tartózkodási hely: Új nick-em watt (pont nélkül)
|
Még időszakos csúszások sem lehetnek! A megszakításon belül a számláló nincs leállítva, tehát a megszakítás pillanatában feltöltődik az új értékkel és számol. Magyarul az időzítéssel nem lehet gond.
Esetleg az órajel sebességével igen. Ez jelentkezhet a periódus időben és a soros átvitel baud értékében is.
Idézet: soros annyira mukodik, hogy kikuldi a 82-t. vissza nemirja, amit elkuldtem
Ezt nem értem! Honnan tudod, hogy kiküldi a 82-őt? Ez nem látszik!!(A VB progit használod amit írtam???)
|
csüt. márc. 17, 2005 9:02 |
|
|
lacc
arany tag
Csatlakozott: kedd dec. 07, 2004 12:46 Hozzászólások: 323
|
soros annyira mukodik, hogy kikuldi a 82-t. vissza nemirja, amit elkuldtem
elejen a 1320-hoz tartozo configbitek jolvannak?
Jeleket meg nem neztem, suliban vagyok, kiskonferencia, most adjuk elo...
utana tudok menni merni.
a 15 ms nem csuszik el? mer amikor csordul, ujraindul, amig oda nem er az ujboli feltolteshez,addig szamol, ido telik el. ez kicsi tudom, de ha pl 3 oraja megy?
vagy ez nemszamit?
|
csüt. márc. 17, 2005 8:49 |
|
|
.watt
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3333 Tartózkodási hely: Új nick-em watt (pont nélkül)
|
Azért, mert ha nem timer1-től származik a megszakítás, akkor nem szaban a számlálót feltölteni. Tudom, hogy elvileg mástól nem származhat, ez csak rossz beidegződés.
Nézted már a jelalakot? Neked is produkálja amit nekem otthon a 2320-al? A soros kommunikáció működik? Nekem tökéletesen ment! hiba nélkül!
Ha meg azt kérded miért a rcall előtt töltöm fel, akkor meg azért, mert így lesz pontos az időzítés. Az időzítés egyébként jó, mert 15ms megvan(a felvételből is kiderül)
|
csüt. márc. 17, 2005 8:42 |
|
|
lacc
arany tag
Csatlakozott: kedd dec. 07, 2004 12:46 Hozzászólások: 323
|
Hi!
Ezt itt nem teljesen ertem, hogy miert igy:
Kód: BTFSS TMR1_INT_FLAG BRA MEG_VÉG_H movlw B'11110001' movwf TMR1H movlw B'01011001' movwf TMR1L Rcall tmr1
|
csüt. márc. 17, 2005 8:29 |
|
|
.watt
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3333 Tartózkodási hely: Új nick-em watt (pont nélkül)
|
Amit wav-ot küldtem, jól mutatja, hogy a program működik. Meg kell mérned a kimeneten a jelet hasonló módon, mint írtam. HA ott van a három imp. és még mindig nem jó, akkor lehet aggódni.
20-akat próbálj elküldeni, mert amit benne hagytam 60-at és 55-öt az véletlen volt. Írd át mielőtt kiküldöd.
Ja és a Reset lábat engedélyeztem! Azt neked törölni kell, ha nincs reset gomb, vagy emeld meg a lábat 10kohm-al Vdd-re! (a reset gomb feltételével vigyázz, mert ha égetés közben megnyomod, akkor az égető Vpp vonala sérülhet, ezért nem mindegy, hogy hogyan van bekötve.)
Várom a mérésed eredményét!
|
csüt. márc. 17, 2005 6:45 |
|
|
lacc
arany tag
Csatlakozott: kedd dec. 07, 2004 12:46 Hozzászólások: 323
|
Hi!
Ratettem, mikor megnyomom a gombot, hogy kuldje a ket adatot, elotte kapja meg a 82,82-t, es utana kuldi a cuccot, de nem irja vissza...kocsi nemmegy
|
csüt. márc. 17, 2005 6:33 |
|
|
.watt
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3333 Tartózkodási hely: Új nick-em watt (pont nélkül)
|
Megvan.
www.wattmep.tvn.hu/public/RC_imp_ok.zip
18F2320-ra írtam, ezért a korábbihoz hasonlóan át kell konfigolni néhány ponton.
Küldtem hozzá egy VB progit is. Ebben két értéket lehet beállítani, (sebesség, irány) és elküldeni.
A kommunikáció úgy működik, hogy a PIC a 15msec es dolga végén(3 impulzus kiadása után) küld egy jelet a PC-nek(most egy D'82'-őt), hogy ha akar valamit, akkot azt azonnal küldje. Ezt a PC fogadja és ha volt érvényes elküldött adat, akkor azt áttolja. A PIC a fogadott bájtokat visszaküldi a PC-nek. (VB forrást is küldtem, hogy lásd a menetét)
Én úgy tapasztaltam, hogy 45-nél nagyobb számok esetén az impulzus nem nő tovább, ezért lehet, hogy még a számolásban van egy kis hiba. Abból is látszik, hogy a 45-nél nagyobb számok gondot okoznak, hogy ilyenkor a visszaküldött bájtok nem egyeznek a kapottal. Szerintem hibás útra megy a program, de nem volt időm kideríteni mi folyik.
Az elvi hiba ellenére a dolog működik!
Küldtem egy wav-ot is. Ebben 5 különböző értékkel vezérelt impulzusokat látsz egymás után(SoundForge-vel meg tudod nézni. Állítsd secundumra az értékeket)). Megjegyzem, hogy a korábban javasolt lin bemenetes méréssel vettem fel a jelet, és a SF-el normalizáltam(direkt nem használtam szkópot). Mondtam, hogy nem kell mindenhez szkóp!
Végül még valami. Ha az adót bezavarja a PIC és a PC(rángatózik stb), akkor le kell választani egy optokapuval az egészet. (külön táp stb.) De szerintem mennie kéne így is.
|
csüt. márc. 17, 2005 6:04 |
|
|
lacc
arany tag
Csatlakozott: kedd dec. 07, 2004 12:46 Hozzászólások: 323
|
Jah, elso koron mire gondoltal? mert ha az megy, amit leirtal, akkor vegulis megvona
De ha holnap nemmegy, akkor mostmar tenyleg bevegeztetett a projekt ezen resze, mert kedden megmerettetes, eshat meg sok a tesztelnivalo.
Ha nemmegy holnap, nem lesz ido mar ra.
|
szer. márc. 16, 2005 13:47 |
|
|
lacc
arany tag
Csatlakozott: kedd dec. 07, 2004 12:46 Hozzászólások: 323
|
Koszi. En elso korben azt probaltam, hogy az iniben valtoztatgatni az ertekeket, ha a soros nemmegy. Arra gondoltam, hogy nemjok a timer beallitasok, es nincs ideje a soros portot beolvasni. De mikor lattam, hogy hiaba allitgatom ezeket az ertekeket, nem valtozik. Mondjuk most lehet hogy valtozna mar, viszont most nem csinalja azt, mint akkor. nevezetesen, akkor azt csinalta, hogy egyfolytaban balra huzott a kerek. (ekkor megorultem, hogy ennyi is ment, gyors mentem merni, es lattam a jelet)
Bajok meg a zavarral vannak (de ez szerintem nem lesz baj, ha menni fog). ha fogom a kocsit, es mozgatom, neha megy mint orult, neha nem. Ha leteszem foldre, vmikor meg se moccan, vmikor megy mint orult. Hatradolok pl, megint valtozik. Ez a zavar lehet, ilyeneket nem csinalt, mikor folyamatosan balra huzott a kerek. Nemtudom hogy gond lehet-e meg, hogy az aramkoron, ahol az antenna van felfogatva, kicsit kozel van a soros port egyik "vezetekehez" (forrasztascsik). A zavar miatt gondolom, de hozza nemer, meg pluszban le is ragasztottam a forrasztast, hogy veletlenul se erjen hozza.
|
szer. márc. 16, 2005 13:44 |
|
|
.watt
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3333 Tartózkodási hely: Új nick-em watt (pont nélkül)
|
Nem azért segítek, hogy megháláld, nekem az is elég, ha működik a dolog! A PIC-et is a tudomány oltárára áldoztam fel!
Megnézem ma mit tehetek! (kivételesen egyedül leszek otthon.. )
Tehát az kéne első körben, hogy a soros kommunikáció menjen és ezzel együtt lehessen az impulzusokat a beadott értékkel módosítgatni minimum és maximum között. Megpróbálom....
|
szer. márc. 16, 2005 12:46 |
|
|
lacc
arany tag
Csatlakozott: kedd dec. 07, 2004 12:46 Hozzászólások: 323
|
Most pl. vilagit a led, ami a high megszakitasba van irva (bsf led)
Kód: btfsc TMR1_INT_FLAG Rcall tmr1
Az interrupt_high-rol van szo.
Ha az elobbi kod ele irom a bsf led -et, akkor a led nemvilagit.
Ha utana irom, a led viilagit. Ezt sem vagom mitol lehet, hiszen mindenkeppen vegigfut rajta, es ki nemkapcsolom sehol a ledet...
|
szer. márc. 16, 2005 10:41 |
|
|
lacc
arany tag
Csatlakozott: kedd dec. 07, 2004 12:46 Hozzászólások: 323
|
Arra kernelek, ha lehetseges, hogy atnezhetned a progit, mondjuk holnapra akar, tesztelve, mukodokepesen. (ha nem, mind1) Valahogy honoralnam is, (errol amugysem feledkeztem meg a sok helert!) (meg az aldozati pic-edet is karpotolnam valahogy) a legyeg, hogy egetoen fontos lenne! nekem nemmegy. Persze, mert suliban nemigazan tanitanak ilyen reszletesseggel! Ez nem az en hibam, nagyon sokat foglalkoztam vele az utobbi idoben (!), mindent atneztem, kiprobaltam nagyonsok lehetoseget! nemmegy, es nem tudok rajonni mi lehet a hiba. Amiket eddig irtal, azokat eddig mind kiprobaltam mar (mielott irtad)! valtoztatgattam, hatha Meg lehetetlen dolgokat is kiprobaltam a szamtalan probalkozas mellett! Nemmegy
Es ha ez nemmegy, akkor hiaba toltottem el vele kb masfel honapot, szinte minden nap e felett ulve.
Megertesedet koszonom!
|
szer. márc. 16, 2005 10:37 |
|
|
lacc
arany tag
Csatlakozott: kedd dec. 07, 2004 12:46 Hozzászólások: 323
|
Ha nemhiszed, jarj utana! )
http://lacc.uw.hu/download/megszakit.asm
A tiedet irtam at, megszakitasosra. Nalam mukodott!
Timer3 osztasa is jo a debug szerint. jol belerakja, szamol, megszakit, impulzus, megint beallit, szamol, megszakit, impulzus. Csakhat eloben nemmegy... Mondom, debugnal jol megy. A debugot SIM-el probaltam, nem a pic debugja (a beepitett)
|
szer. márc. 16, 2005 10:21 |
|
|
.watt
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3333 Tartózkodási hely: Új nick-em watt (pont nélkül)
|
A flag mindenképpen jelez. A dolog e részével nem lehet baj. Esetleg a timer3 osztásával??
Idézet: Van mukodo irogepprogi, atneztem mindent, egyezik, es megsem megy
Nem hiszem, hogy egyezne, mert az írógép progi nem megszakításból működik(persze van olyan is a mi abból, majd próbálok egyet előkeresni..)
|
szer. márc. 16, 2005 10:11 |
|
|
lacc
arany tag
Csatlakozott: kedd dec. 07, 2004 12:46 Hozzászólások: 323
|
Soros kommunikacio nemvagom mertnem megy. Kiszedtem tmr1-et mindenfelekepen, es ugysem megy. Van mukodo irogepprogi, atneztem mindent, egyezik, es megsem megy
De szerintem most fontosabb lenne egyenlore nem a sorossal foglalkozni, minel hamarabb meglegyen. Ha megy z iranyitas, raerek a sorossal.
timer3:
Kód: TMR3_KÉSZ btfss TMR3_INT_FLAG ;PIR1,0 BRA TMR3_KÉSZ ; HA NEM KÉSZ.. RETURN
Ha timer3-nak nem adok megszakitasi jogot, akkor is dobja a megszakitast jelzo bitet? mert ha nem, akkor maskent nemmegy lekezelni.
|
szer. márc. 16, 2005 10:03 |
|
|
.watt
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3333 Tartózkodási hely: Új nick-em watt (pont nélkül)
|
Ja! Arra jó, hogy ha bemenetnek konfigolod és ráteszel egy billentyűmátrixot, akkor 8 db külső ellenállást elvileg meg lehet spórolni.
A Programról:
Kód: BSF USART_INT_E_T ; SOROS MEGSZAKÍTÁS ENGEDÉLYEZVE
Ez nem kell! Adáskor nem szabad megszakítást generálni, mert nincs olyan rutin ami lekezelné. Lehet ez is a gond. Először állytsd helyre a soros kommunikációt és ha az már megy, akkor lépj tovább az időzítésekre. A kommunikáció létrejötte után sok infót el lehet küldeni a PC-nek, ami segít a fejlesztésben. Persze ehhez egy egyszerű monitoráló PC progit is kell írni, ami nem nagy kaland.
Az impulzusoknál, nézd meg a Timer3-at, hogy minden rendben megy e nála. A Timer3-nak ne adj megszakítási jogot, mert az a timer1 megszakításán belül fog működni. (ezt a részt még nem néztem a progiban, lehet hogy most is jól van) Egyenlőre ennyi...
|
szer. márc. 16, 2005 9:58 |
|
|
lacc
arany tag
Csatlakozott: kedd dec. 07, 2004 12:46 Hozzászólások: 323
|
Azt vagom, hogy kikapcsolja, csak aztnem, mire lenne ez jo, ha szukseg lenne ra
A megszakitassal lehet gond szerintem. Debudnal az idoertekek is jol kijonnek.
Nemtudom erdekes lehet e a kovetkezo link:
http://forum.rcmodell.hu/viewtopic.php?t=1050
|
szer. márc. 16, 2005 8:36 |
|
|
.watt
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3333 Tartózkodási hely: Új nick-em watt (pont nélkül)
|
Megpróbálom megnézni.
Az INTCON2,7 bit a PortB beépített felhúzó ellenállásait kapcsolja ki, mert most nincsen rájuk szükség.
|
szer. márc. 16, 2005 8:33 |
|
|
lacc
arany tag
Csatlakozott: kedd dec. 07, 2004 12:46 Hozzászólások: 323
|
A mostani allapotban a led sem vilagit, pedig ott van az iterruptban. Ha iz ini-be rakom a bsf led-et, akkor vilagit (persze folyamatosan). Megnezned kerlek? frissitettem a file-t. Thx!
Ui.: Ezt nem ertem meg, miert kell:
|
szer. márc. 16, 2005 7:32 |
|
|
lacc
arany tag
Csatlakozott: kedd dec. 07, 2004 12:46 Hozzászólások: 323
|
nincs. nem megy. idoket nem tudok, mert mondom, nem tudtam leolvasni.
Soros port nemtom mmiert nem jo. arra gondolok, hogy nincs ideje...
Pedig debugnal szepen lemegy, es elvileg mar az idok is jok.
Mondjuk debigban nem tudtam atbillenteni a soroshoz tartozo begszakitast jelzo bitet, mindig visszairta 0-ra.
Baud jo. Ha kiveszem a rcall tmr1 sort, illetve tmr1-et el sem inditom, akkor mar tenyleg lennie kene idonek, es ugyse ir vissza semmit.
pentek ota minden nap itt ulok, es csak modositgatom. mar mindent kiprobaltam, atirtm az egeszet, vissza, stb... En nem tudok rajonni, mi lehet a hiba, mar mindent atnezem, ellenoriztem, tobszor vegigneztem az adatlapot!
Most pl azt sem csinalja, mint eddig, hogy a kereket huzza folyamatosan. Kicsereltem a kocsi antennazsinorjat, a hossz szamit!
Ha ma nem sikerul megcsinalni, akkor lehet hagyom az egeszet.
A hozzászólást 1 alkalommal szerkesztették, utoljára lacc szer. márc. 16, 2005 7:48-kor.
|
szer. márc. 16, 2005 7:12 |
|
|
.watt
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3333 Tartózkodási hely: Új nick-em watt (pont nélkül)
|
Na szerda van.
A jelzett változtatások jók.
Azt írod nincs kommunikáció, de akkor nem változik a változó sem, ami meghatározza a timer3 idejét, vagy azt "kézzel" adtad meg?
Kb milyen időket mértél?
A soros port baudrate értéke biztos jó? Próbáld meg egyesével módosítgatni. előfordul, hogy a belső oszci nem pontos, ezért a kommunikáció sérül.
Van valami fejlemény?
|
szer. márc. 16, 2005 5:45 |
|
|
Ros-Co.
a fórum lelke
Csatlakozott: hétf. nov. 08, 2004 20:03 Hozzászólások: 6046 Tartózkodási hely: Bp.
|
Hoppá... Ez az USB-s PIC igaz? Van ebből flash-es változat is? yoo lenne...
Pláne ha valami tudná égetni is
|
kedd márc. 15, 2005 23:04 |
|
|
lacc
arany tag
Csatlakozott: kedd dec. 07, 2004 12:46 Hozzászólások: 323
|
|
kedd márc. 15, 2005 22:59 |
|
|
lacc
arany tag
Csatlakozott: kedd dec. 07, 2004 12:46 Hozzászólások: 323
|
Atirkaltam, bementem suliba meri.
Eredmeny: szep jel, 3 impulzus. A baj ott volt, hogy nem tudtam valtoztatni az impulzusok kozotti idot, tmr3-t. ini-ben atirtam mar mindenfele ertekre a sebesseg, es irany valtozokat, es mindig ugyan olyan erteket ad ki. Ez az ertek az elso kereket tolja balra, olyannyira, hogy hallani, hogy meg mindig tolna, csakhat mar csuman van, a hatso kerek nem mozdul. azt mintha nem is vezerelne. Az idoziteseket nem tudtam leolvasni, mert a scopon nem volt kursor (legalabbis nem talaltam), es a beosztasokat sem vagtam le.
De a lenyeg, hogy nem tudtam megvaltoztatni az idoket, hiaba irtam at a seb, es irany vltozokat.
asm-ben meg mindig voltak hibak, rcon-nal prioritast engedelyezni kell! megtettem. Mondjuk mar orulok, hogy ilyen jelet kaptam, mar kozel allok a celhoz
frisitettem a filet!
http://lacc.uw.hu/download/RC.asm
Kód: TMR3_KÉSZ BTFSS TMR3_ON_OFF ; TIMER3 LEJÁRT? BRA TMR3_KÉSZ ; HA NEM KÉSZ.. RETURN E helyett inkabb ez kene nem? Kód: TMR3_KÉSZ btfss TMR3_INT_FLAG ;PIR1,0 BRA TMR3_KÉSZ ; HA NEM KÉSZ.. RETURN Mert a ciklus elott be kapcsoljuk a timer3-t, tehat ez a ciklus kilep, es valojaban nem is lesz ciklus. Evvel is gondok voltak: E helyett: Ez elso nem tette bele PRODh:PRODL-be az ertekeket. Soros sem mukodik vmiert meg. iniben kukuldenek egy A-t: Kód: RCALL BUFFER_TX_ÜRES movlw D'65' MOVwF TXREG
De csak egy "-" jelet kapok.
|
pén. márc. 11, 2005 18:54 |
|
|
lacc
arany tag
Csatlakozott: kedd dec. 07, 2004 12:46 Hozzászólások: 323
|
Jeah!
Rendes vagy!
Megneztem, javitgattam, Mar valamit csinal A kereket folyamatosan balra huzza. Hatsokerek nem mozdul, soros adatot nem ir vissza. Lehet hogy meg hosszu a kiszolgalo rutin? Hogy tudom ezt lemerni?
Adatlapot olvasgatom, szinte napokg azt bongeszem. Sajnos angolul nem tudok, eshat duliban csak 16F-et tanultunk, gyakorlopanelon. Timert nem is kezeltem. Orulok, hogy eddig ertem
Kodot kerestem neten, nemigazan leltem.
Koszi megegyszer a torodest!
|
pén. márc. 11, 2005 15:14 |
|
|
.watt
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3333 Tartózkodási hely: Új nick-em watt (pont nélkül)
|
lacc!
Tisztán jószándékból és építő jelleggel mondom, hogy vannak hiányosságaid a nyelvvel és az alkalmazásával kapcsolatban.
Javaslom, hogy nézd át alaposan az adatlap(18Fxxxx) assemly kódjait, mert elég jól le van írva melyik utasítás mit csinál! Érdemes lenne néhány programot megnézni, hogy hogyan csinálják a profik a megszakítást, és a soros port kezelését. (A neten találni példákat, talán még a honlapomon is )
A tárgyra térve, vettem a fáradságot, és megpróbáltam átnézni a programodat. Így az életben nem fog működni.
Ezért vettem a bátorságot és "néhány ponton" átírtam.
Nem próbáltam ki még, mert arra még nem futotta, de ebből ki lehet indulni. Ha lesz időm, akkor próbákat is teszek, és megint megkérem a haveromat, hogy netezhessek nála, mert legközelebb csak szerdán lennék. Ezért ha nem válaszolnék a kérdésedre szerdáig, vagy nem jelentkeznék, ne lepődj meg.
A módosított programot feltettem ide:
www.wattmep.tvn.hu/public/RClaccProg.asm
Láthatod majd, hogy egy 18F2320-ra írtam(mivel a 1320-am elszenderült), ezért módosítanod kell néhány ponton. Ezeket a pontokat jelöltem. Legtöbb esetben kikommentezni, ill. levenni róla a kommentet kell. A két PIC egyébként teljesen azonosan programozható(és a többi 18F-es is!)
Ha lesz érdemleges változás, akkor jelentkezem, ha nem akkor szerdán...
|
pén. márc. 11, 2005 10:47 |
|
|
lacc
arany tag
Csatlakozott: kedd dec. 07, 2004 12:46 Hozzászólások: 323
|
ok. Delphi progi mukodik de most nem avval foglalkozok. Soros probahoz meg a win beepitett cuccat, a hyperterminalt hasznalom...
|
csüt. márc. 10, 2005 14:26 |
|
|
.watt
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3333 Tartózkodási hely: Új nick-em watt (pont nélkül)
|
Idézet: itt ha eleri a 0-t a cikl_szamlal, akkor nem hajtodik vegre a BRA DO sor?
Igen, mert a decfsz 0-nál egyet átlép, egyébként a következő sorra lép.
Sajnálom, de otthon nincs netem, és legközelebb csak szerdán leszek.
Addig is azt ajánlom, hogy lépésenként próbálj meg megszakításos soros rutint írni, aztán térj rá az összetetteb programra. Ha Delphiben írt progival próbálod a PIC-et, akkor először csinálj egy nullmodemet(összekötöd az adó és a vevő vonalat és akkor azon viszakerül amit adsz. Ha ez a rész működik, akkor jön a PIC-en keresztüli történet.
Mennem kell.......................
|
csüt. márc. 10, 2005 14:08 |
|
|
lacc
arany tag
Csatlakozott: kedd dec. 07, 2004 12:46 Hozzászólások: 323
|
Idézet: A megszakitaas nem kovetkezik be szerintem
Ugy veszem eszre, egyiksem. Mind a ket helyre tettem bsf led -et, de nem villan fel abszolut!
Kód: DO DECFSZ CIKL_SZÁMLÁL,F ; SZÁMLÁLÓ CSÖKKENTVE BRA DO ; HA MÉG NEM CSÖKKENT 0-RA return
itt ha eleri a 0-t a cikl_szamlal, akkor nem hajtodik vegre a BRA DO sor?
Szimulatornal meg atbillentenem en a bitet, de nem engedi!
sorosnal pl a PIR1,5 bitet kell asszem.
Fontos lenne, ha ezek mukodnenek, mert du be tudnek menni a suliba merni, mert akkor mar csak tenyleg az van, hogy az impulzusok idoziteset beallitani! Ezek utan hetvegen mar mehetne is a fejlesztes vegre. Lassan 3 hete all e-miatt a projekt, es mar sok lenne meg egy hetvege kihagyas...
Es a topic is bevegezne vegre rendelteteset, es johetne a "virag" osztas
|
csüt. márc. 10, 2005 11:50 |
|
|
.watt
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3333 Tartózkodási hely: Új nick-em watt (pont nélkül)
|
Idézet: MPLAB-ban sem tudok simulacional soros porti megszakitast inditani.
Csak át kell billenteni a megfelelő bitet a megfelelő regiszterben(a regiszter ablakot ha felhívod ott), ami az usart megszakításjelző bit. (fejből ne kívánd.. )
|
csüt. márc. 10, 2005 11:41 |
|
|
.watt
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3333 Tartózkodási hely: Új nick-em watt (pont nélkül)
|
Kód: ;impulzus szelessege impulzus incf impulz movf impulz sublw D'100' btfsc STATUS, Z goto impulzus return Közben látom, hogy változtattad a kódot(és írtad is). Viszont nem hallgatsz rám, vagy nem olvasol rendesen? Én írtam: Idézet: a movf, incf esetében ki kell tenni mindig, hogy a W-be vagy az F(regiszterbe vissza) akarod tölteni az eredményt. Példa: Kód: incf impulz,f movf impulz,w sublw D'100' btfsc STATUS, Z goto impulzus Mindenhol nézd át ezt, mert a progid tele van ilyen hibákkal. Példa2: Kód: IDŐZÍT MOVLW D'100' ; CIKLUS SZÁMLÁLÓ MOVWF CIKL_SZÁMLÁL ; EZ EGY DEKLARÁLT REGISZTER DO DECFSZ CIKL_SZÁMLÁL,F ; SZÁMLÁLÓ CSÖKKENTVE BRA DO ; HA MÉG NEM CSÖKKENT 0-RA RETURN ; IDŐZÍTŐ RUTIN LEFUTOTT, KILÉPÉS
Ez a forma jobban közeláll hozzám.
|
csüt. márc. 10, 2005 11:25 |
|
|
.watt
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3333 Tartózkodási hely: Új nick-em watt (pont nélkül)
|
Idézet: Tegnap igertel egy "javitott" kodot lehet rola szo? Miután a hiba kiderült, azt hittem nem kell már! Egyébként nem javítottam semmit benne, csak azokat az apróságokat, amiket a fordító megjegyzésként(!) kibökött az output ablakjában. Tehát igazi "javított" kód nincsen. Idézet: A megszakitaas nem kovetkezik be szerintem Melyik, a timer, vagy a soros? Idézet: Idézet: Az RCREG hogyan jön bele itt a képbe? Mit olvasol belőle be? Főleg, hogy benne van a ciklusmagban?
Ezt nemertem
Hát én sem!
Kód: ;impulzus szelessege impulzus incf impulz movf RCREG sublw D'500' btfss STATUS, Z goto impulzus return
Ebben a részben mit keres az RCREG? Mit olvasol belőle be? Miért van benne a ciklusmagban?
|
csüt. márc. 10, 2005 11:19 |
|
|
lacc
arany tag
Csatlakozott: kedd dec. 07, 2004 12:46 Hozzászólások: 323
|
A megszakitaas nem kovetkezik be szerintem, de nemtudom miert. Elvileg be vannak allitva, prioritasi szintek is, ez is engedelyezve van.
MPLAB-ban sem tudok simulacional soros porti megszakitast inditani.
Beleraktam azt is, hogy ha beolvas egy karktert, akkor azt ki is kuldje eltarolas elott. De nemkuldi.
Frissitettem a file-t.
Idézet: Az RCREG hogyan jön bele itt a képbe? Mit olvasol belőle be? Főleg, hogy benne van a ciklusmagban?
Ezt nemertem
|
csüt. márc. 10, 2005 9:36 |
|
|
lacc
arany tag
Csatlakozott: kedd dec. 07, 2004 12:46 Hozzászólások: 323
|
egyszeru varakozas?
Azthittem ez egyszeru...
Tegnap igertel egy "javitott" kodot
lehet rola szo?
|
csüt. márc. 10, 2005 8:27 |
|
|
.watt
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3333 Tartózkodási hely: Új nick-em watt (pont nélkül)
|
Az RCREG hogyan jön bele itt a képbe? Mit olvasol belőle be? Főleg, hogy benne van a ciklusmagban?
Idézet: Nem tudom, meddig legyen imp.
~0,1msec. Csinálj egy egyszerű várakozást, majd utána billentsd vissza a lábat. Az impulz hosszát változtathatod, mert valahol biztosan jó lesz. A maximális hosszt az határozza meg, hogy a legkisebb impulzusköz mekkora(annak pont a fele elég lesz). A legkissebb elegendő impulzusközt pedig a vevő határozza meg. Ezt ki kell próbálni(mikortól nem változik tovább a sebesség, ill. a kormánymozdulat). Lényeg az, hogy a legkissebb időknél is legyen két elkülönülő impulzusjel! (ahogy a korábban belinkelt RCidők rajzon látszik.)
|
csüt. márc. 10, 2005 7:28 |
|
|
lacc
arany tag
Csatlakozott: kedd dec. 07, 2004 12:46 Hozzászólások: 323
|
Az jol megy, igen
Megprobaltam onnan atteni a dolgokat, kisebb nagyobb sikerrel.
Ez az 500-as dolog ugy nez ki, hogy 1-tol elszamolna valameddig. Ez lenne az impulzus kitoltesi tenyezo, vagyishathogy meddig legyen kiadva az impulzus. Ez az 500 **** volt, meg mikor irtam a progit. Sajna tenyleg nem ugrik ki a ciklusbol, kicsit modositottam, hogy kiugorjon legalabb, de itt meg gondok vannak! Nem tudom, meddig legyen imp.
|
csüt. márc. 10, 2005 7:13 |
|
|
.watt
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3333 Tartózkodási hely: Új nick-em watt (pont nélkül)
|
lacc!
Van egy rész, ahol call-ok vannak btfss után.
A call végrehajtás után a következő sorra lép, tehát oda goto, vagy BRA(!) kell. A Goto és a BRA ill. a Call és a RCALL között az a különbség, hogy az egyik csoport kétszavas utasítás(goot,call).
Azért érdemes a RCALL-t és a BRA-t használni, mert gyorsabb és kisebb lesz a program. Ha a relatív ugrás(ezek ezt tudják) nem elég, akkor a fordító sikít, tehát akkor majd elég kicserélni a kétszavasra.
Van még egy rész, amit nem értek.
Kód: ;impulzus szelessege impulzus incf impulz movf RCREG sublw D'500' btfss STATUS, Z goto impulzus return
Az 500-at milyen megfontolásból írtad bele?
Másik, hogy a szimulátor soha nem lép ki ebből a körből. Mikor kéne kilépjen?
Harmadik, hogy a movf, incf esetében ki kell tenni mindig, hogy a W-be vagy az F(regiszterbe vissza) akarod tölteni az eredményt. (de lehet, hogy ezt már mondtam)
Amit küldtem soros progit az jól ment? Nem azzal van a baj ugye?
|
csüt. márc. 10, 2005 6:48 |
|
|
lacc
arany tag
Csatlakozott: kedd dec. 07, 2004 12:46 Hozzászólások: 323
|
A kódot kicseréltem egy javított verzióra, mielőtt még valakiben kárt tenne Smile
http://lacc.uw.hu/download/RC.asm
két problémám van még.
Épp a soros portot próbálom megoldani, még mindig ugyanezen kódon (javítotton). De csak krix-krax-okat ír ki. Baudrate elvileg jól van beállítva.
A másik, hogy az a gyanum, nem keletkezik megszakítás, vagyisháthogy nem ugrik oda.
Tettem egy led-et, es kigyújtatnam, ha valamelyik interruptrész következik. Egyiknél se gyullad ki a led. Ha az inicializáló részbe rakom, akkor természetesen világít a led!
|
csüt. márc. 10, 2005 6:46 |
|
|
lacc
arany tag
Csatlakozott: kedd dec. 07, 2004 12:46 Hozzászólások: 323
|
Megvan a hiba!
Mukodik a PIC.
bar a soros port meg nemmegy (rendesen), meg egy ket dolog, de pl ledet vilagittat
|
szer. márc. 09, 2005 23:49 |
|
|
.watt
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3333 Tartózkodási hely: Új nick-em watt (pont nélkül)
|
Biztos a halál!
Én azt hiszem, hogy atta megtalálta a hibát. Ha azt a bizonyos külső oszcit letiltod, meg az A/D-t, PWM-et akkor nagy esélyed van, hogy nem megy tönkre a PIC. De nem tudok garantálni semmit.
Idézet: Azert kapcsoltam be ot a Timer1-et, mert azt hittem, ott azt kell bekapcsolni, hogy hasznaéhassam. Nem azt, hogy kulso oszcirol mennyen.
Igen gondoltam. Én is beleestem ebbe még az elején, de azoknál a PIC-eknél egészen máshol voltak a PGC/PGD lábak. Reménykedjél, hogy ez volt a hiba. A szekvenciákban nem találtam, és talán nem is lehet olyat írni ami kinyiffantaná a PIC-et úgy, hogy nincs bekötve egy lába sem!
Aki tud ilyen tippet adni, érdekesség képpen ne fogja vissza magát!
Viszont a konfigurálással ezek szerint igen körültekintőnek kell lenni!
|
szer. márc. 09, 2005 12:55 |
|
|
lacc
arany tag
Csatlakozott: kedd dec. 07, 2004 12:46 Hozzászólások: 323
|
Akkor hogy megva a hiba, ratolthetem biztosra?
Azert kapcsoltam be ot a Timer1-et, mert azt hittem, ott azt kell bekapcsolni, hogy hasznaéhassam. Nem azt, hogy kulso oszcirol mennyen.
|
szer. márc. 09, 2005 12:41 |
|
|
.watt
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3333 Tartózkodási hely: Új nick-em watt (pont nélkül)
|
A sima ellenállásmérő is kitér rövid időre, amíg feltöltődik a kondi, aztán megint szakadást mér.(persze, ha a kondin kívül nincs más vezető a körben) Próbáld meg..
|
szer. márc. 09, 2005 7:17 |
|
|
lacc
arany tag
Csatlakozott: kedd dec. 07, 2004 12:46 Hozzászólások: 323
|
Csak tudni szerettem volna, barmior jol johet ez a kis trukk
Csak az a baj, hogy ez nem sipol...
|
szer. márc. 09, 2005 7:15 |
|
|
.watt
gyémánt tag
Csatlakozott: szer. márc. 24, 2004 13:43 Hozzászólások: 3333 Tartózkodási hely: Új nick-em watt (pont nélkül)
|
Idézet: A kondit hogy tudom megmerni hogy jo-e', az egy szal multimeteremmel? Vagy ezt nemlehet evvel?
Ha van szakadás vizsgálód(sípol ha zárlat van), akkor azzal egy nagyobb kondit meg lehet "mérni" úgy, hogy gyorsan cserélgeted rajta a mérőzsinort. Minden fordításnál csippania kell egy rövidet. Ez a módszer 10uF felett működik. A kis kondikat elég, ha szakadásra vizsgálod.
DE! Nem hiszem, hogy bármi baja van a körödnek!
|
szer. márc. 09, 2005 7:13 |
|
|
lacc
arany tag
Csatlakozott: kedd dec. 07, 2004 12:46 Hozzászólások: 323
|
Idézet: Ha most arra kérnél, hogy írjak egy olyan progit, ami tönkretesz egy PIC-et, nem tudnám hogy álljak neki! Neked ez egyből sikerült!
Nos. ebben az esetben nyugodtan keress meg
A savok szerintem nem ernek ossze. meregettem.
A kondit hogy tudom megmerni hogy jo-e', az egy szal multimeteremmel? Vagy ezt nemlehet evvel?
|
szer. márc. 09, 2005 7:08 |
|
|
Ki van itt |
Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 7 vendég |
|
Nem nyithatsz témákat ebben a fórumban. Nem válaszolhatsz egy témára ebben a fórumban. Nem szerkesztheted a hozzászólásaidat ebben a fórumban. Nem törölheted a hozzászólásaidat ebben a fórumban.
|
|
|