Fórum témák
» Több friss téma |
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
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
És tényleg ! Ez mindig a nem ágon rohan ...
Meg tudnád nekem gyorsan csinálni? Megköszönném.
A timer nem tud túlcsorogni ha ezt írom neki timer=1 ?
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..
De hogy csinálnád meg, hogy 20ms után 120-500ms áljon, a másik villogjon
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
A kolléga megelőzött teljesen jó amit írt ..
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
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
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.
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
C blokk
osccon = 0b1010000; vagy osccon = 0x50;
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.
Akor az én esetemben a6,5,4 bitet úgy adom meg neki, hogy osccon=0001010 ??? Hisz a többi nem kell. Jól értem??
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
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
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:
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
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
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.
Szerintem azt hagytam ki. Holnap ránézek. Köszönöm.
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.
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.
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
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.
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.
|
Bejelentkezés
Hirdetés |