Fórum témák

» Több friss téma
Fórum » Folyamatábrás mikrokontroller programozás Flowcode-dal
Lapozás: OK   292 / 360
(#) kokozo válasza bubuszoft hozzászólására (») Nov 28, 2017 /
 
Nem semmi köze hozzá.
És igen nagyon rosszul gondolod
A tmr csak annyit csinál, hogy meghívja a makrot. Semmihez nem ad hozzá semmit.
És a Flowcode nem foglalkozik a kis és nagybetűkkel, jelen esetben a Timer = timer -el.
Magyarul a jelen helyzetben a timer alapból 0 ezért mindig kisebb lesz mint 1 tehát az igen ág sose teljesül mivel a nem ágban még tovább nullázod a 0-át minden meghíváskor
(#) kokozo válasza kaqkk hozzászólására (») Nov 28, 2017 /
 
Sose ad hozzá 1-et mert mindig nullázza mivel az igen nem ág is fel van cserélve..
A hozzászólás módosítva: Nov 28, 2017
(#) bubuszoft válasza kokozo hozzászólására (») Nov 28, 2017 /
 
Sima c kódparancsal is megadható??
(#) kaqkk válasza kokozo hozzászólására (») Nov 28, 2017 /
 
És tényleg ! Ez mindig a nem ágon rohan ...
(#) bubuszoft válasza kokozo hozzászólására (») Nov 28, 2017 /
 
Meg tudnád nekem gyorsan csinálni? Megköszönném.
(#) kokozo válasza bubuszoft hozzászólására (») Nov 28, 2017 /
 
(#) bubuszoft válasza kokozo hozzászólására (») Nov 28, 2017 /
 
A timer nem tud túlcsorogni ha ezt írom neki timer=1 ?
(#) bubuszoft válasza kokozo hozzászólására (») Nov 28, 2017 /
 
Köszönöm holnap nézem
(#) kokozo válasza bubuszoft hozzászólására (») Nov 28, 2017 /
 
timer=1 ez egy változó aminek az értékét megadod, ha mindig =1 akkor mitől csordulna túl?
Max akkor tudna ha timer=timer+1 lenne..
(#) bubuszoft válasza kaqkk hozzászólására (») Nov 28, 2017 /
 
De hogy csinálnád meg, hogy 20ms után 120-500ms áljon, a másik villogjon
(#) Firefighter1 válasza bubuszoft hozzászólására (») Nov 28, 2017 /
 
Nem néztem a programot és csak most kapcsolodtam bele a diszkurzusba de ha azt szeretned hogy legyen egy fix időd (bekapcsolt állapot 20ms) meg egy valtoztatható időd ( az inpulzusok közötti szünet)
Akkor ...

Előszőr lődd be a PIC et és a TMR-t 1 ms behivásra

Utánna ha ez megvan akkor a makroba tegyél egy számítást
timer = timer +1 ( ez lessz az alap változód)

Utánna a Main loopjába tegél egy feltételes elágat
timer < 21
igen ágon legyen magas a kimenet.
a nem ágba tegyél mégegy elágat ahol vizsgálja azt hogy timer = set (a set lesz a bellítható impulzusszüneted)
A nem ágat hagyd üresen az igen ágba meg tegyél egy számitást ahol timer = 0

Maga ez a dupla feltételes elág "elvileg " megoldja az időzítésedet!

Persze en még raknék bele plusz elágat mondjuk egy switch változóval ami alapbol engedélyezi az elöbb említett időzítést! / egyfajta Power ON Power OFF ként/
plussz kell még egy gombfigyelés amivel a set változót , tehát az impulzusok közötti szünetet állitod / vagy ADn egy poti és azzal öszhangba hozni a set-et/

De nallam vannak itt sokkal nagyobb pengék, énis még csak a felszínt kapisgálom!
De elvileg ennek jonak kell lennie!
A hozzászólás módosítva: Nov 28, 2017
(#) kaqkk válasza bubuszoft hozzászólására (») Nov 29, 2017 /
 
A kolléga megelőzött teljesen jó amit írt ..
(#) niedziela válasza bubuszoft hozzászólására (») Nov 29, 2017 /
 
Ha beállítod a timert és a szunet időt változtatod.
Igy pontosan tudsz mindent számolni.
A hozzászólás módosítva: Nov 29, 2017

Flowcode1.fcf
    
(#) bubuszoft válasza kokozo hozzászólására (») Nov 29, 2017 /
 
Szia meg tudnád mezni? A Timert állítottam, remélem jól, illetve adtam az elején egy c-kódba egy parancsot. Lehet így 4Mhz-re állítani, vagy máshogy kell beadni neki?osccon.ircf3=1101vagy így kell megadni?
osccon = 01100000
A hozzászólás módosítva: Nov 29, 2017

akku.fcf
    
(#) bubuszoft hozzászólása Nov 29, 2017 /
 
Sziasztok
Kérném a segítségeteket, egy alap kérdésben. Én mindíg a Flowra bíztam az oscillátor beállítását, de most ckódba kell megadni. Arra rájöttem, hogy osccon a bit tehát parancsba osccon= , de és itt jön a de. Mit irjak ide 4Mhz esetén, és hogy hol tudom azt megtudni, hogy Pl18f14k22 pic esetén mit kell beírnom oda. Igaz, hogy mutattatok egy táblázatot pár sorral feljebb, de nem tudom értelmezni. Kérlek segítsetek. Köszönöm.
(#) kokozo válasza bubuszoft hozzászólására (») Nov 29, 2017 /
 
Szia!
Minden chipnek van egy adatlapja amiben ez le van írva, mellékelem a Te chippedét.

Itt van az is leírva hogy az osccon melyik bitje mit állít. Jelen esetben az órajelet a 6 5 4 bit adja meg ami 4 MHz nál 101. Az meg hogy a többi pl bit7 funkció kell e te tudod. Ha nem kell akkor 0 ha kell akkor 1
(#) niedziela válasza bubuszoft hozzászólására (») Nov 29, 2017 /
 
C blokk
osccon = 0b1010000;
vagy
osccon = 0x50;
(#) bubuszoft válasza niedziela hozzászólására (») Nov 30, 2017 /
 
Etz a kódot a chip adattáblájából olvasod ki?? Mert ezt nem tudom, hogy honnan szertitek meg. Egyébként köszönöm szépen.
(#) bubuszoft válasza kokozo hozzászólására (») Nov 30, 2017 /
 
Akor az én esetemben a6,5,4 bitet úgy adom meg neki, hogy osccon=0001010 ??? Hisz a többi nem kell. Jól értem??
(#) bubuszoft válasza niedziela hozzászólására (») Nov 30, 2017 /
 
Sziasztok
Beírtam niedziela által javasolt beállításokat, c kódként, de lefordításnál hibát dob ki, segítsetek beállítani nekem 4Mhz-re köszönöm
A hozzászólás módosítva: Nov 30, 2017
(#) bubuszoft válasza Firefighter1 hozzászólására (») Nov 30, 2017 /
 
Oké rentben, de szeretném megérteni, hogy ha úgy állítom be, hogy belső órával akkor hogyan. Elvileg van 7 bitunk, ahogy a forumban írtad, 456 bit kell nekünk a 4Mhz értéke 101 ahogy írtad akkor
osccon=0001010???
Hisz én szerintem
osccon=1bit
osccon=_2bit
osccon=__3bit
osccon=___4bit (itta adok értéket)
osccon=____5bit (itta adok értéket)
osccon=_____6bit (itta adok értéket)
osccon=______7bit
vagy azt sem tudom, hogy honnan szedi ki a forumtárs a
osccon = 0x50értéket vagy miért a osccon = 0b1010000; prancsot adja ki az én általam gondolt első három bitnek?????
A hozzászólás módosítva: Nov 30, 2017
(#) Bakman válasza bubuszoft hozzászólására (») Nov 30, 2017 / 1
 
Nehéz így, mert alapvető dolgok hiányoznak.

0x50 érték hexadecimális (0x jelöli) számrendszerben van, 0b10100000 bedig binárisban (0b jelöli). Utóbbit azért szeretjük ebben a helyzetben, mert így könnyen látható, hogy melyik bit mire van állítva.

A PIC18F14K22 kontroller adatlapján az osccon regiszterben nyolc bit van, öt csoportban.

bit 7
bit 6,5,4
bit 3
bit 2
bit 1,0

Az osccon beállításánál a hetes bittel kell kezdeni a nullásig bezáróan. osccon=0b76543210

Ha te 8 MHz-en akarod járatni a kontrollert, akkor szépen sorban kinézed az adatlapból a számodra szükséges biteket:

bit 7: 0 (perpillanat nincs jelentősége)
bit 6,5,4: 1,1,0
bit 3: 0 (perpillanat nincs jelentősége)
bit 2: 0 (perpillanat nincs jelentősége)
bit 1,0: 0,0

Mindezek után már csak egymás mellé kell rakni a biteket:

01100000

Flowcode-ban pedig így beírod egy C blokkba, rögtön a program elejére:
  1. osccon=0b01100000;
Ennyi, nem több.

A most nullán álló biteknek van jelentősége itt-ott (adatlap leírja), de egyelőre hagyjuk, kezdetnek így is megfelel.
A hozzászólás módosítva: Nov 30, 2017
(#) bubuszoft válasza Bakman hozzászólására (») Nov 30, 2017 /
 
Nagyon szépen meköszönöm, mostmár kezdem kapizsgálni. De csak az nem világos, hogy a flow miért dob fordításnál ki hibát (lehet, hogy a pontosvesszőt kihagytam a végéről), lásd fentebb. Köszönöm szépen mégegyszer.
A hozzászólás módosítva: Nov 30, 2017
(#) Bakman válasza bubuszoft hozzászólására (») Nov 30, 2017 /
 
Most nem tudom megnézni a forráskódot. Kell a pontosvessző a végére, ha az nincs, hiba miatt leáll a fordítás.
(#) bubuszoft válasza Bakman hozzászólására (») Nov 30, 2017 /
 
Szerintem azt hagytam ki. Holnap ránézek. Köszönöm.
(#) niedziela válasza bubuszoft hozzászólására (») Nov 30, 2017 /
 
Igen a pontosvessző hiányzik.
Egy copy -paste megoldotta volna a problémát
De mi a cél egyébként, mert én ezt olvastam.
Bővebben: Link
Itt úgy értem amit leírsz, hogy van egy kimenet ami 20msec -ig aktiv, majd ez kikapcsol és egy másik kimenet 170-500msec között aktiv(vagy nincs aktiv kimenet csak szünet). Majd ciklikusan ez ismétlődik.
Mert amit feltettél az nem ezt csinálja Legalább is a ledek nem ezt mutatják.
Másik ami csak tanács, ne használd a LED makrókat, helyette ki-be meneteket használj.
(#) bubuszoft válasza niedziela hozzászólására (») Dec 1, 2017 /
 
Ket kivezerles van a zölz led azt csinálja, hogy 20msec ig altív kimenete 1, majd 170-500msec ig a kimenet 0 ezután kezdi újra (szulfátmentesítő töltő lesz). Mivel a bekapcsolásról valamilyen visszajelzés kell igy úgy gondolta, hogy a piros ledet villogtatom, ezzel jelzi, hogy megy a szoftver, és a szulfátmentesítő töltés, ennyi.
Annyival még kibővìtem a programot, hogy lesz egy feszültség figyelő, ami figyeli, hogy az akku ne menjen fel 14.4V fölé. És egy órás töltési idő lesz.
Magyarul: megnyomjuk az on gombot, a beállított időközönként rásüti az akkura a közel 30V puffer kondiba tárolt feszültséget. Ezután vár a beállított ideig, majd kiolvassa az akku feszültség értékét, ha 14,4Volt alatt van akkor megnézi, hogy az egy órás töltési idő nem-e járt le, ha nem, akkor ismét rásüti és így tovább. A select gomb megnyomásával (jelenleg még nincs funkciója) megnézhetjük az akku feszültséget. Hát ennyi lenne.
(#) Horváth P Tamás hozzászólása Dec 3, 2017 /
 
Sziasztok . a következő problémám adódott így vasárnap este .
Ha valaki tudna segíteni azt nagyon szépen megköszönném
A flowvbam van egy progi ami ott működik . Ez működik az proteuszban is.
Amikor összerakom próbapanelon akkor a kijelző nem mutat semmit .
Elküldöm a két filest
(#) Bakman válasza Horváth P Tamás hozzászólására (») Dec 3, 2017 /
 
Nagy valószínűséggel a konfigurációval lesz gond, ugyanis External RC-re van állítva az órajel forrása és 20 MHz-et adtál meg. Próbáld meg így (melléklet), belső órajelet adtam meg, 8 MHz-re állítva.

DS18B20.fcf
    
(#) bubuszoft válasza Horváth P Tamás hozzászólására (») Dec 4, 2017 /
 
Bocsánat, hogy belekotyogok. Én egy pár sorral elötted kértem ki a társak segítséget, mert nem igazán ment az elektronikám úgy ahogyan elképzeltem. Legelején (és itt a lényeg), a kijelző se indult el, úgy ahogy azt írtad. Nálam a flow csinálta a hibát. Most az 5.1.0.0-át használom. Ha ujabbat használsz, valamiért rosszul, vagy egyáltalán nem fordítja le. Sőt az ujjabb kiadásnál, egy led villogtatásnál nem mondhattad azt már neki Pl: hogy led1 on vagy off. Portot kelett nitogatni, akkor műkodott. A gombkezelésről nem is beszélve. Én csak is 5.1.0.0 ajánlok neked. Azzal mennie kell.
Következő: »»   292 / 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