Fórum témák
» Több friss téma |
Fuu basszus, kb negyede ez a program. Furcsa volt mondjuk ,hogy 5%-ot elvesz a ROM-ból egy óra program. Köszönöm szépen a segítséget!
Sziasztok!
SSD1289-es IC-vel rendelkező kijelzővel van valakinek tapasztalata? A problémám a következő: Szám kiírásnál hiába van, a transparency "0"-ban, szimulációban felülírja az előző számot a backround színnel, de ha lefordítom és élesben tesztelem, akkor ez nem történik meg és szépen lassan csak foregrund színű négyzeteim lesznek, mintha a transparency "1"-ben lenne. Volt már ilyen tapasztalat, én rontok el valamit, vagy bug-os a macro? Üdvözlet és köszönet.
A gLCD-k makrói kb. tele vannak bugokkal. Egy csomót közzétettem én is a Matrix fórumán, mondhatni kevés eredménnyel. Inkább áttértem az intelligens kijelzőkre (UART kapcsolat), vagy marad a karakteres LCD.
Szia!
Köszi! Sajnos a 6-ban nem tudom, hogy hogyan kell szerkeszteni a makrókat. 5-ben ugye még simán lehetett játszadozni... A hozzászólás módosítva: Feb 1, 2017
A 6-os verzióban (és a 7-esben is) már zártak a makrók, nem lehet szerkeszteni. Éppen emiatt vágtam a sarokba az egészet. A gLCD-k hibái csak a legszembetűnőbb dolgok, a nagyobb gond az, hogy ugyanazon program 6-osban sokkal több memóriaterületet igényel, mint az 5-os verzióban. A 7-es pedig még a 6-oson is túltesz.
A hibát egyébként meg lehet kerülni. Létrehozol egy konstanst, célszerűen "debug" névvel. Ennek te kézzel adsz értéket, ami nulla és egy lehet. A programban pedig feltételes elágazást használsz. Ha a konstans értéke egy, akkor a háttérszínt átállítod. Ha nulla, akkor nem. Debug (teszt) alatt a konstans értékét egyre állítod. Ha a kontrollerbe megy a program, akkor pedig nullára (már ha nem felejted el). Ha kell, hétvégén tudok feltölteni mintaprogramot, most nem a saját gépem előtt vagyok. Ezzel azt éred el, hogy a teszt alatt is jól működik a kijelző, nem csak a megépített HW. A módszerben az az igazán jó, hogy a fordító tudni fogja, hogy a feltételes elágazás egyik ága soha nem fog lefutni, így azt a kódrészletet le sem fordítja, spórólva ezzel a hellyel.
Szia!
Olvasva mondataidat úgy érzem, hogy rosszul fogalmaztam. Nekem élesben a hardware-en nem működik rendesen, de a szimulációban igen. És ezért nem tudom, hogy hol lehet a probléma. Üdvözlettel
Ha flowcode szimulátorát használod, az csak részben igaz.
Használj proteust, vagy mplab..stb
Értettem a kérdést mert ilyenbe én is belefutottam. A háttérszínt kell átállítani, akkor működni fog rendesen a valóságban. Viszont, ilyenkor a szimulációban fogod azt a hibát tapasztalni, amit most a HW-en mutat.
Erre jó kikerülő módszer az, amit írtam.
Szia!
Proteus használatban, csak nem minden van benne és néha tovább tart ott összedobnom az áramkört mint a próbapanelen. Flowcode szimulátort szinte soha nem használom, csak abban az esetben, ha nem jövök rá a hibára, akkor már kínomban el szoktam indítani. Lehetőleg hw környezetben tesztelek.
Szia!
Bocsánat, hibás mellékletet csatoltam.
Hi Mesterek!
Segítséget szeretnék kérni. A VREF+ szenvedek. Ha az AD beállítom hogy a +VREF et használja nem működik fix értéket mér . Amennyiben VDD-avn tökéletes. Az AN3/RA3 ra TL431-en keresztül beállítottam neki 4.096V-ot. Valami még hiányzik? Csatolom a .fcf-et Köszönöm segítséget.
Hálás köszönet
Nézegettem az asm-et de nem bírtam vele, mert ami ott van hex-ben értékek átváltva bin-re, hülyeség volt az akkumulátorok értéke, nem értem Én ezt Vagy a flow C-ből fordít hex-be, az asm, meg csak van? Azért mert a C-t nem néztem, mert anno assemblyben csinálgattam a pic-et. A C nyelv kimaradt eddig az életemből Kipróbálom, köszi A hozzászólás módosítva: Feb 14, 2017
Sziasztok!
7 szegmenses digit kinelzős orát szeretnèk összehozni. Dàtum ês hőmêrő funkcióval. Az ora progi mèg menne is, a dàtum is, a hőmêrő meg egy szenzorral analog bemeneten. Viszont a kijelzőt nem tudom hogy hajtsam meg! Flow-ba van erre program? 12 pines
Vagy egy pic nem is tud ilyet meghajtani közvetlenbe?
Köszönöm
Vagy jobban jàrok egy sima 4 pines i2c -s kijelzővel???
Egyiket se ismerem... egyiknek se tudom se a működêsèt.. se a.programigènyèt...
Itt vannak a gyári példafájlok , a kijelző meghajtását megoldhatod uln203-2008 ic vel és tranzisztorokkal . Közvetlenül semmiképp ne kösd rá a picre .
Jaaaa neem...
Persze... nem ugy gondoltam hogy direktbe... hanem hogy valami közvetett meghajto ic nem e kell! Közbe megint a szám.. helyesebben az ujjam jàrt hamarabb nem pedig gondolkodtam! Tetszik ez az i2c rendszer 2 kàbel n*x perifèria.... Csak kèrdêses hogy az èn kuka fejem elèg e a megtanulásàhoz! Flow ba mennyire lehet vele garázdálkodni?
I2C nagyon jól működik Flowcode-ban. Maga a vezérlés menete eltérő különböző eszközöknél de nem ördögtől való.
Csak mert ha jol működik Flow-ban... akkor nem feltêtlenűl nyergelnèk àt arduinora... a PIC lelkèt màr egy picit kezdem megismerni!
Onnantll kezdve meg hogy I2c gondolom mindegy hogya prifèria mivel kommunikàl... Ezt arra èrtem hogy sok ardus perifèria van ( tul kêppen sima i2C) pl ebay-en... ès akkor annak mindegy hogy az a 2 kanoc egy ardu ba vagy egy pic be megy! Na akkor nèzegetnem kell pár pèldaprogramot hogy mi is a lènyeg!
Mivel èrdemes szerintetek kezdeni? Hogy tudom ugy tanulni hogy ne kavarodjak bele? Gondolom a cimzês... irás olvasás a lènyege
Vannak Flowcode-os példaprogramok is bőven, pl. a Matrix oldalán is, ebben a témában is. Ami elsőre fennakadást szokott okozni, az az eszközök címzése. Ha az adatlap másképpen nem rendelkezik, akkor az eszköz címe hét bites, az alsó (LSB), nyolcadik bit pedig meghatározza, hogy írni vagy olvasni szeretnél.
Pl. DS1307. Címe: 1101000x. Az utolsó bit (x) határozza meg, hogy írsz vagy olvasol. Írás 0, olvasás 1. Pl. te a 0x10 memróiaterületre akarsz írni valamit. I2C Start (elindítod a protokollt) Transmit Byte 0b11010000 (megszólítod az IC-t, innentől figyelembe veszi a neki küldött adatokat) Transmit Byte 0x10 (megadod az IC-nek a címet, ahova írni szeretnél) Transmit Byte xxxxx (elküldöd az adatot) I2C Stop A 0x10 memóriaterület kiolvasása: I2C Start Transmit Byte 0b11010000 (írási parancs kell, mert meg kell adnod, hogy honnan akarsz olvasni) Transmit Byte 0x10 (megadod az IC-nek a címet) I2C Restart Transmit Byte 0b11010001 (megszólítod az IC-t és egyben közlöd vele, hogy olvasni akarsz) Receive Byte .... (most kapod vissza a kért adatot, Last Byte opciót 1-re kell állítani, ha nem olvasol többet) I2C Stop Röviden ennyi. Nem minden I2C eszközt így kell vezérelni, az adatlap ad bővebb tájékoztatást. Igen, az eszköznek mindegy, hogy PIC, AVR, ARM, Raspberry stb. kommunikál vele, nem tudja megkülönböztetni az adat kérő/küldő eszközöket egymástól.
Sziasztok
Megnézné valaki ezt a kis progit? Az érdekelne hogy miért nem fut le a megszakitás az időzités alatt. Üdv
Szia!
TMR0 tulajdonságok->clock source select -et állítsd át internal clockra
Szia átállitottam de ugyan az a tünet.
Üdv
Ez a program nem program , honnan tudod hogy a megszakítás nem fut ? Ez csak számol a vakvilágba nincs megadva érték -változónak ahol resetelnie kéne tehát 0-tól a "végetlenig" megy anélkül hogy törénne valami ...
Szia igazad van.
Ez nem program. Az érdekelne hogy miért nem fut le a megszakitás az időzités alatt. "Ez csak számol a vakvilágba nincs megadva érték -változónak ahol resetelnie kéne tehát 0-tól a "végetlenig" megy anélkül hogy törénne valami ... " Na épp ez gondom hogy nem számol amig tart a késleltetés. Üdv |
Bejelentkezés
Hirdetés |