Fórum témák

» Több friss téma
Fórum » Folyamatábrás mikrokontroller programozás Flowcode-dal
Lapozás: OK   40 / 360
(#) slogan válasza (Felhasználó 15355) hozzászólására (») Nov 29, 2011 /
 
Szia !

Igen hasonló módon.....

Megoldódott !
Bár csak a 16F648 -on megy ,a 18F6622 -őn nem.

A lényeg az ,hogy új verziót telepítettem ,valamint az ,hogy a flow nem szimulálja le !
Már be sem akartam égetni ,mert sokadik lett volna ,de mégiscsak beégettem és láss csodát !
(#) slogan válasza (Felhasználó 15355) hozzászólására (») Nov 29, 2011 /
 
Mondod ,vagy kérdezed ?
Mert így van ....
(#) Firefighter1 hozzászólása Nov 30, 2011 /
 
Elvileg akkor így tudom menteni a változók értékeit (gomb makró) a RAM-ba és visszahívni a progi elején (FoFugveny)
Köszönöm a segítséget, a példa program elvén sikerült megértenem.
(#) kokozo válasza Firefighter1 hozzászólására (») Nov 30, 2011 /
 
Nincs mit! Annyit változtass még hogy a funkcio túl sokszor lenne így elmentve, ezért csak akkor mentsd amikor az értéke változik, mert így gyorsan elhasználódik az a ram terület! (csinálsz egy funkcio2 változót és ha a 2 nem egyforma akkor menttel és a két változót kiegyenlíted: funkcio2=funkcio)
(#) Firefighter1 válasza kokozo hozzászólására (») Nov 30, 2011 /
 
Így gondoltad? Köszi!
Így tényleg csak akkor írja ki ha változik a változó értéke.
(#) kokozo válasza Firefighter1 hozzászólására (») Nov 30, 2011 /
 
Így.. Tudsz te ha akarsz
(#) Firefighter1 válasza kokozo hozzászólására (») Nov 30, 2011 /
 
Viszont az r, r1 ,r2 változó értékével van egy kis bajom, amikor betöltöm a programot akkor nem nulláról indul a változók értéke hanem x olyan számokról ami szinte lehetetlen, ahogy látud mind a 3 változó értéke max 3 lehetne hisz olyan van a függvénybe hogy utána az értéke legyen nulla, hogy a többirányú elág újra tudjon indulni, de így ahogy kölönböző értékekkel megy a változó igy nem tudom kinullázni, és olyan értéket hoyg nagyobb vagy egyenlő, olyan nem működik!
Merre gondolkozzak?
(#) Firefighter1 válasza Firefighter1 hozzászólására (») Nov 30, 2011 /
 
Vagy ne izguljak mert power off power on után ezek az értékek nullák lesznek ?
Amúgy néztem még olyat se enged hogy r<3 mert ez is jó lenne (gomb fügvénybe) mert akkor megy a nullázó ágra>
(#) kaqkk válasza Firefighter1 hozzászólására (») Nov 30, 2011 /
 
A főprogram legelejére tegyél egy számítást
r=0
r1=0 stb minden változót nullázz a program indulásakor
(#) kokozo válasza Firefighter1 hozzászólására (») Nov 30, 2011 /
 
Az azért lehet mert az első bekapcsoláskor a ram random értékét veszi fel de az első mentésnél mindent beállít és a következő induláskor már jó lesz.
(#) Firefighter1 válasza kaqkk hozzászólására (») Nov 30, 2011 /
 
szerintem nem jó, mert utánna van a ram-ból való olvasás tehát ugyan ugy beolvasná a kóbor értékeket.
De kipróbálom
(#) Firefighter1 válasza kaqkk hozzászólására (») Nov 30, 2011 /
 
Igen, igy ugyan úgy vissza olvassa a kósza értékeket....
(#) Firefighter1 válasza kokozo hozzászólására (») Nov 30, 2011 /
 
Ez igaz hoyg a következő mentésnél már kore4kt értéket ír, de az a korrekt érték az a kosza érték plussz 1 ami már szintén túl van a nullázó értéken... Vagy ez másképp fog a valóságba lefutni?
(#) kokozo válasza Firefighter1 hozzászólására (») Nov 30, 2011 /
 
Csináld úgy hogy a ramból olvasás után nézesd meg vele az értékeket és ha már ott olyan értékű ami nem lehetne akkor egy alapbeállítást állíttass be vele.
(#) Firefighter1 válasza (Felhasználó 15355) hozzászólására (») Nov 30, 2011 /
 
Akkor a javaslatodból kiindulva a Flowcodeba nem tudom beállítani hogy alapból a RAM értékei nulla legyen, és csak az érték ram-ba írás után tartsa azt...
(#) Firefighter1 hozzászólása Nov 30, 2011 /
 
Én se vagyok teljesen normális hát persze hogy nem müködött a feltételes elág azzal hogy r < 3 hisz a "csibecsőrt" fordítva kell tennem...
De inkább a ramból való kiolvasás után teszek be egy feltételes elágot úgy ahogy te mondtad kokozo, mert akkor tulajdon képpen rögtön ahogy tápfeszt kap és futni kezd, akkor rögtön nullázza a változó értékeit, csak ezzel egy hiba van, ha netalántán 0 vagy 3 közötti értéket tölt be magának és én 3 picet szeretnék indítani egyszerre ugyan azzal a programmal akkor mondjuk az első pic össze szed valami 163 értéket akkor az nullázódik de ha a másdik összeszed indításkor mondjuk egy 2-es értéket akkor azt nem érzékeli hibának igy nem nullázza, tudom kicsi az esélye hogy 0 és 3 közötti random érték irodik be de megvan rá....
Úgyhogy végérvényesen azt kell elérjem hogy a RAM értékek nullák legyenek power off on után tehát amikor tápfeszt kap akkor 0-át vegyen amikor meg resetláb van akkor meg megtartja a futó értéket!

simpi... Azt nem lehet hogy megírom itt flowcode-ba a programot és a pickit2 be csak az eepromterületet állítom be? mert van egy olyan érzésem hogy az is kemény küzdés lesz nekem...>
(#) kaqkk válasza Firefighter1 hozzászólására (») Nov 30, 2011 /
 
Vagy próbáld meg ezt a programrészletet a főprogram elején , ez nullázza az eepromot minden indulásnál
(#) Firefighter1 hozzászólása Nov 30, 2011 /
 
A probléma megoldódott az égetőm (Velleman) progija (PicProg2009) képes hogy mint a javasolt pickit2 az eeprom értékeit induláshoz belítsa a felhasználó!

De simpi tipje alapján vettem észre!

Viszont ami a gondom! lefordítottam a progit hex-be és égettem a pic-be és lás csodát az ram-ba irás tökéletes minden funkció működik kivéve egy valami, mégpedig nem villog a led, gomb nyomásokra továbblép de csak folyamatosan világít, a szimulációba jó de égetve nem.
Jol tippelem hogy a csatolt képen a legördülő menűbe nem jó osc configot választottam?
(#) Firefighter1 hozzászólása Dec 1, 2011 /
 
A chip konfigba az oscillátort már átállítottam internal-ra tehát belsőre csak igy meg a gombok nem működnek, viszont villog a led!
(#) kokozo válasza Firefighter1 hozzászólására (») Dec 1, 2011 /
 
Watchdogot kapcsold ki!
(#) zumi24 hozzászólása Dec 1, 2011 /
 
Sziasztok!

Az lenne a kérdésem,hogy flow code-ban meg lehet-e valósítani modbus rtu, vagy modbus ascII protokolos kommunikációt. A feladat az lenne,hogy egy adott terminállal kelene kapcsolatot létesíteni.
(#) Firefighter1 válasza kokozo hozzászólására (») Dec 1, 2011 /
 
Watchdog kikapcsolva fut a program de a gombokat még mindig nem érzi
(#) kkrisz75 hozzászólása Dec 1, 2011 /
 
Hali

Lenne egy gondom, és ha valaki tud adjon egy tippet legyen szíves.

18F4550es PIC esetén szeretném használni a C4-es lábat led ki-be kapcsolására.
A probléma az, hogy folyamatosan világít halványan a led.

Olvastam az adatlapját a pic-nek.
Ezt írja arra a lábra.

RC4/D-/VM
- Digital input.
- USB differential minus line (input/output).
- External USB transceiver VM input.

Nem lehet valahogy kikapcsolni az USB-t és a hozzá tartozó lábakat?

Nincs több szabad lábam és már fel cserélni sem igazán szeretnék lábat. Mert max 1 kapcsolót tudnék felcserélni ami kapcsoláskor le van húzva testre, minden foglalt.
Ez a benzin szintmérő vissza jelző ledje, aminek 5Les szint alatt kellene bekapcsolnia az felett meg ki. Most fél és 3/4-ed fényerőt produkál mikor kapcsol.
(#) Firefighter1 válasza kokozo hozzászólására (») Dec 4, 2011 /
 
Köszönöm szépen a segítséget, jó néhány új fogalom és kifejezés jelentését értettem meg megint!
A programok külön külön jól működnek mindegyik úgy ahogy kell és ha imitálom a reset plusz a programválasztó gomb működését (aminek a helyén később egy vezérlő pic kimenete lesz kötve) akkor minden úgy működik ahogy kell.
Maradok a példa progimnál és felmerült egy következő kérdés bennem!
Az elv most a következő jelen esetben van egy vezérlő és több vezérelt PIC, jelen pillanatban úgy csinálja a váltást hogy kiad egy reset jelet 50ms-ig utána 10ms szünet és kiadja a a léptető jelet( sima logikai magasra vált és ez van a programváltó gomb helyére kötve)
Ahogy a képen látható különböző "programágak" vannak, és igy lépked egymás után sorba (illetve a resettel lett megoldva a több pic egyszerre indítása.
Javasoltátok a különböző soros protokollokat és olvasgattam róla a küldött cikkekben is, Elvileg azzal tudom azt megoldani hogy ne egymás után lépegessenek hanem úgymond elnevezek minden ágat és megmondom neki hogy melyik "ágat" kezdje futtatni akár össze vissza is!! Ugye???
(#) Firefighter1 válasza Firefighter1 hozzászólására (») Dec 4, 2011 /
 
Remélem hamarosan érkezik a többi picem hogy ne csak szimulálva hanem valóban többet összekötve tudjam próbálni!
(#) vilmosd válasza Firefighter1 hozzászólására (») Dec 4, 2011 /
 
Bocs de nem voltam gep kozelben napokig es nem tudtam valszolni. Szoval amit en ajanlottam a "Pbus" protokoll, ami egy soros Master-Slave rendszer. Ezt ugy kell elkepzelni, hogy van egy master, es kuld uzeneteket barmely Slavenek. Minden Slave rendelkezik egy azonosito szammal, pl 1-15. Amikor a Slave felismeri az azonositojat, akkor magara veszi az erkezo utasitast, kulonben eldobja. Talalhatsz peldat a CCS C peldajai kozott, es ezen az oldalon ASM-ben. A ket pelda nem teljesen egyezik, mert az ASM kulon ki-bemenetet hasznal, mig a C pelda egy labon oldja meg a kommunikaciot. Amit en csinaltam, az CCS C-ben irtam, es 4 PIC logott az 1 szal deroton. Teljesen korrekt volt a kommunikacio. Nekem a Masteren keresztul kellett (mint egy telefonkozpont) hivogatni az allomasokat egymas kozott, es valaszt kuldeni ha jott hivas. Nalad egyszerubb lehet a dolog, ha nem varsz valaszt a Slave allomasoktol, csak ki kell kuldeni minden Slavenek ez ervenyes ukazt, es azok ettol kezdve azt fogjak csinalni. Persze lehet csicsazni, hogy ha a Slave vette az ukazt, visszair egy nyugtazast. Ezzel lehet teljesen biztonsagos rendszert is csinalni, csak a sok adat miatt lassabb lesz a rendszer. Esetleg meg nezd meg ezt a megoldast is talan ad 1-2 otletet.
(#) slogan hozzászólása Dec 5, 2011 /
 
Laca :
Tudsz esetleg új linket ?
Ez sajna nem működik
Vagy majd keresek .....
Köszi !
Üdv : István
Fölösleges sortörések eltávolítva.
(#) Firefighter1 hozzászólása Dec 5, 2011 /
 
Sziasztok!
Volna egy kérdésem a programmal kapcsolatba. Sikerült sok segítséggel a program funkcióit működésre bírni. (Amit mégegyszer nagyon köszönök)
De van valami amit nem értek, ugye van több program ág amibe különböző sémák kerülnének, gondoltam hogy ne keljen tesztelgetés közbe az egész programot égetni ugy voltam vele hogy minden "Programágat" külön írok meg, mármint hogy hogy villogjon. Ezzel semmi gond nem is volt, meg is írtam őket majd egyesével égettem a PIC-be próbálgattam és amikor úgy éreztem hogy jó akkor egy másolás beillesztéssel beillesztettem a csatolt programba. És meglepődve láttam hogy nem futott a program. Igaz hoyg másik fájlból másoltam át de akkor is. Viszont ha kézzel pötyögtem be akkor simán fut. Ez természetes? Tehát két azonos configu fájlból nem tudom simán másolás beillesztéssel átmásolni a programrészt? Vagy én rontok el valamit?


A második és harmadik csatolt program van beleillesztve a 4 csatolt programba

Külön külön fut de egybe másolva nem!!!
(#) kaqkk válasza Firefighter1 hozzászólására (») Dec 5, 2011 /
 
A másolás nem viszi át a változókat ,Ha másolsz sajnos külön
át kell írni a változókat .
(#) Firefighter1 válasza kaqkk hozzászólására (») Dec 5, 2011 /
 
Változokat nem másolok csak kimenet be illetve kikapcsolást tehát output-okat és késleltetést, de gondolom akkor hatással van rá
Szomorú vagyok mert így egy nap pötyögés áll előttem!
De köszönöm a gyors reagálást
Következő: »»   40 / 360
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