Fórum témák

» Több friss téma
Fórum » Folyamatábrás mikrokontroller programozás Flowcode-dal
Lapozás: OK   285 / 360
(#) Firefighter1 válasza kokozo hozzászólására (») Aug 24, 2017 /
 
Még ezt segíts nekem értelmezni!
Itt ir alacsony és magas kimenetet is inden tengelyhez...

Mi alapján tudom eldönteni hogy az alacsony vagy a magas kimenetet kell olvassam?

mpugyro.PNG
    
(#) kokozo válasza Firefighter1 hozzászólására (») Aug 24, 2017 /
 
Egyszerű, mind a 2 kell neked mivel a 360° nagyobb mint a 255 ezért 2 bájt kell, hogy a teljes értéket megkapd..
Pl x értéke: 59 es cím a magas nagyobb mint 255 és a 60-as cím az alacsony (tehát kevesebb mint 255)
Ebből a 2 számból lesz egy 3. számod. A számítás meg ez ami összegzi őket:
X = (read_xh << 8) | read_xl
(#) Firefighter1 válasza kokozo hozzászólására (») Aug 24, 2017 /
 
Óóóó hogy én milyen sült hal vagyok! Persze 360 nagyobb mint 255!

NA kiváncsi vagyok... Akkor mindjárt összeáll egy programféle.. majd ha rá tudnál nézni...
(#) Firefighter1 válasza kokozo hozzászólására (») Aug 24, 2017 /
 
A számításodat nem teljesen értem. Az per vagy összeadás akar lenni?
Akkor az nem működik ha csak simán összeadom a két értéket?
Valami ilyesmi született nállam Te meg Bakman segítsége alapján.
Még azt nem értem hogy az olvasásnál te miért ugy írtad ahogy írtad,

Megszólítod írásba utána kijelölsz egy regisztert, utána újraindítod megszólítod olvasásba kijelölöd a regisztert aztán kiolvasod...
ott az irás és az ujrainditásnak mi a szerepe?

MPUolvasa.fcf
    
(#) Firefighter1 válasza Firefighter1 hozzászólására (») Aug 24, 2017 /
 
Amúgy az írás makrónak és a cím érték módósításnak az ötletét lopom... Nagyon tetszik
(#) kokozo válasza Firefighter1 hozzászólására (») Aug 24, 2017 /
 
| = "Or" azaz vagy. Tehát bármelyik értéke 1 akkor a kimenet is 1 lesz.
Azért így kell mert ahhoz hogy tudja mit akarsz tőle meg kell mondani, tehát az írás helyett legyen küldés, az olvasás helyett meg fogadás ha így érthetőbb.
(#) Firefighter1 válasza kokozo hozzászólására (») Aug 24, 2017 /
 
Az irás olvasás, küldés fogadás konteksztusa az megvan... azt nem kavarom,
Amit nemértek az az hogy amikor olvasni akarok belőle, azaz adatot fogadni akkor ... / te ott megszolitod irás modba cimeztél egy regisztert utanna ujrainditottad /

Akkor az adatfogadás azaz az olvasásnál is elöbb irásba megszolitom és kiküldöm neki annak a regiszternek a címét amit olvasni akarok, utánna ujrainditom, megszolítom olvasásba és megmondom neki melyik regisztert akarom olvasni?

Vagy valami felett elsiklok
(#) kokozo válasza Firefighter1 hozzászólására (») Aug 24, 2017 /
 
Beszélgetés indít (start), elkezdel beszélni (transmitadress), és a lényegre térsz (cím küldése), befejezed a kérdezést(restart), vársz a válaszra (transmit byte a megadott címen), válaszol (receive), elköszönés (stop)
(#) Firefighter1 hozzászólása Aug 25, 2017 /
 
Hát akkor lássuk hogy jol értem e..
Ha az MPU bol a 67-es regisztert ( x h) szeretném kiolvasni, akkor annak valahogy így kell kinéznie?

regread.PNG
    
(#) Firefighter1 válasza kokozo hozzászólására (») Aug 25, 2017 /
 
Amit még nem tudok hogy a Restart után amikor megszólítom olvasásba, és Fogadom az értéket akkor ott Transmit_Byte ( 67) -nek kell lennie tehát a regiszter címének Vagy egy egyesnek,mert a te példádba nem a regiszter címet irtad...

Mondjuk paraszti ész szerint a regiszter címet írnám oda hogy tudja hogy honnan fogadja.... bár tudja mert elküldtem neki elötte!
A hozzászólás módosítva: Aug 25, 2017
(#) Bakman válasza Firefighter1 hozzászólására (») Aug 25, 2017 /
 
Hazaértem, talán tudok egy kicsit aktívabban segíteni. Mellékletben egy nagyon nyers példa MPU6050 kérdezgetésére. A szenzortól kapott adatot UART-on továbbítja a program, de a lényeg kihámozható belőle. Már nincs erőm szépítgetni.

MPU6050.fcf
    
(#) Firefighter1 válasza Bakman hozzászólására (») Aug 26, 2017 /
 
Köszönöm... amugy már egy kicsit kezdek képbe lenni de még vannak homályos foltok! naggyábol iras olvasás mechanizmusa megvan csak pl mint ahogy kérdeztem is hogy restarnál amikor fogadok akkor ugyanugy a reguszter cimét kell irni... illetve ilyen aproságok!
Délután ránézek a progira, akkor leszek gépközelbe!
Addigis köszönöm
(#) Broy hozzászólása Aug 30, 2017 /
 
Újra itt vagyok, mert nincs szerencsém (tapasztalatom) a Flowcode-dal. Először a múltkor csatolt LED villogtató programot írtam át, hogy a megszakítás 976Hz-el menjen és visszaosztottam különböző értékekkel. Ha 976 megszakításonként kapcsoltam a LED-et ki-be, akkor semmit sem láttam. Ha 100 vagy 200 megszakításonként, akkor szépen villogott a megfelelő intervallummal.
Vagyis gyorsan tudtam villogtatni, lassan nem. Szimulációban tökéletesen működött.
Tovább léptem, mert ez nem annyira fontos, bár zavart, hogy a rendszert nem tudom kézben tartani. Tovább fejlesztettem a programot, hogy 61 Hz-es megszakítás mellett, ha a gombot megnyomom (Low pin board), a LED felgyulladjon. Ekkor ért a meglepetés, hogy csak az a verzió működött, ha a gombot megnyomom, akkor kialszik a LED. Hiába fordítottam meg az elágazást, az elágazás feltételét, vagy az értékadást, a LED-et gombbal nem tudom bekapcsolni, csak kikapcsolni. Itt elakadtam. Természetesen szimulációban minden rendben ment.

IOC.fcf
    
(#) kaqkk válasza Broy hozzászólására (») Aug 30, 2017 /
 
Nem lehet hogy túlkombinálod ? A villogtató programot nem láttam de nem lehet hogy int-es változót használtál , az csak 255 ös értékig használható ezért hibázott a program ?
A hozzászólás módosítva: Aug 30, 2017

Flowcode1.fcf
    
(#) Broy válasza kaqkk hozzászólására (») Aug 30, 2017 /
 
Tényleg int a változó. Érdekes, hogy szimulációban meg működik. Úgy érzem, a szimulációt nem fogom erőltetni.
(#) Broy válasza kaqkk hozzászólására (») Aug 30, 2017 /
 
A te megoldásodat implementáltam. Ugyanaz a jelenség áll fenn, csak kikapcsolni tudom a LED-et a gombbal.

IOC.fcf
    
(#) kokozo válasza Broy hozzászólására (») Aug 30, 2017 /
 
Szia!
Na elemezzük kicsit ezt a progit..
mainban nincs semmi tehát tiszta sor nem kell vele foglalkozni.
Led blink makro..
122 Hz -es timerként működik
delay állapota 3 érték lehet 0 1 2,
0 csak a delay elágazásban ahol a gomb értékétől függően a led vagy világít vagy nem, és mivel máshol nincs is a ledekkel foglalkozva így a led állapota csak és kizárólag a gomb állapotától függ.
ha delay 1 akkor semmi nem változik csak egyből 2 lesz belőle ami miatt pedig egyből 0
De ha leírnád mit szeretnél egyszerűbb lenne kitalálni mi a hiba, de szerintem a delay >1 elágazás nem ágába ha kikapcsolod a ledet, akkor ha a kapcsoló be van kapcsolva, villogni fog..
(#) Broy válasza kokozo hozzászólására (») Aug 30, 2017 /
 
Én is rájöttem, hogy ne érdemes a timer időzítésével többet szórakozni. Kiszedte az időosztást, de minden maradt ugyanaz. A kapcsolóval nem tudom a LED-et bekapcsolni, csak ki. Lehet, hogy nem Flowcode probléma?

IOC.fcf
    
(#) kokozo válasza Broy hozzászólására (») Aug 30, 2017 /
 
Még mindig nem értem minek ehhez timer..Először töröl a timert, nem kell, utána ami benne van tedd át mainba és próbáld ki, ha így se jó akkor az áramköröddel van a baj.
(#) Broy válasza kokozo hozzászólására (») Aug 30, 2017 /
 
Kiszedtem a timert. Ugyanaz. Gyári Low Pin Board-ot használok, valószínűleg az áramkörrel nincs gond. Egy gomb, meg egy LED különben sem egy komoly áramkör. Az áramkör azért is tuti, mert az egyik irányba tökéletes a feltétel végrehajtása, a másik irányba meg nem. Áramköri hiba esetén egyik irányba sem működne. Viszont elég primitívnek tűnik a hiba, hogy csak nálam jött volna elő.Vagy a Flowcode vagy a kontroller a ludas. Bár elég érdekes lenne egy ilyen jellegű kontroller hiba. Lehet, hogy megpróbálom a 6-os Flowcode-dal.

IOC.fcf
    
(#) kokozo válasza Broy hozzászólására (») Aug 30, 2017 /
 
Cseréld már le az =1-et >0 ra. Nem tudom milyen boardod van, de a kapcsolót fel vagy le kell húzni egy 10k-os ellenállással ha ez nincs akkor szokott ilyeneket csinálni.
(#) Broy válasza kokozo hozzászólására (») Aug 30, 2017 /
 
Úgy sem jó. A Low Pin Board-on 10k-val van felhúzva. DMM-el leellenőrzöm a PIC bemenetén, hogy tényleg jól kapcsol-e az a nyomógomb.
(#) kaqkk válasza Broy hozzászólására (») Aug 30, 2017 /
 
A főprogramba elég egy makróhívás (led blink) ha a bemenetek + ra vannak húzva a panelon akkor a bemenetet állítsd át negatívra (a kapcsoló tulajdonságainál)
(#) Broy válasza kaqkk hozzászólására (») Szept 1, 2017 /
 
Multiméterrel kimértem, a gomb tökéletesen működik. A kapcsoló tulajdonságainál negatívra állítást nem találtam. De ez azonos lenne a feltétel megfordításával. A folyamatábrával biztos nincs gond, mert fordítva működik a dolog, vagyis a gomb és a LED működik. Kipróbáltam a <>0-val beállítást. Kipróbáltam Flowcode 6-al. Semmi sem segített. Valami nagyon egyszerű hiba lesz, amit nem veszek észre.

IOC.fcf
    
(#) Broy hozzászólása Szept 1, 2017 /
 
Egyszerűsítettem a kódot. Ha simán beírom a kapcsoló értékét (ami negált a felhúzás miatt) a LED-be, működik. Ha negálom a kapcsoló értékét, nem működik.

IOC.fcf
    
(#) kaqkk válasza Broy hozzászólására (») Szept 1, 2017 /
 
Talán így

IOC.fcf
    
(#) kaqkk válasza Broy hozzászólására (») Szept 1, 2017 /
 
A kapcsolónál belépsz a "kilépés a tulajdonságokból" opcióba majd az aktív magas opciót átállítod aktív alacsony-ra
(#) kaqkk válasza kaqkk hozzászólására (») Szept 1, 2017 /
 
vagy ha makrókat használsz így is jó, ez már szimulációban is jól működik az előző az a kapcsoló invertálása miatt értelemszerűen a szimulációban fordítva működik de élőben jó nak kell lennie .
A hozzászólás módosítva: Szept 1, 2017

IOC 2.fcf
    
(#) Broy válasza kaqkk hozzászólására (») Szept 1, 2017 /
 
Köszi a segítségedet. Egyik megoldásoddal sem működik.
Még egy kicsit próbálkozom, plusz megírom C-ben is. A Flowcode C kódjában érdekes
dolgot találtam, de még leellenőrzöm.
(#) niedziela válasza Broy hozzászólására (») Szept 1, 2017 /
 
Igy kell mennie

IOC 2.fcf
    
Következő: »»   285 / 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