Fórum témák
» Több friss téma |
Üdv!
Van -e rá magyarázat, hogy mikor egy előzőleg feltöltött tömbből akarok kiolvasni adatot, és nem a nullás indexnél kezdem a kiolvasást, akkor random adatot kapok? Csatoltam képet. A pirossal jelölt rész hibás adatot küld, a zöld a jókat. Ugyanaz a tömb... Vagy tömböt mindíg az elejéről kezdve kell olvasni?
Sziasztok
Valaki 5.x flowcode-al használt már nokia kijelzőt? Milyen kimeneteket kell beállítani és mi a vezérlés metodusa?
A súgóban van utalás Nokia kijelzőre (Kimenet -> Graphical LCD), talán ezt keresed. Vannak makrói, csak azokat kell meghívni.
Sajna nem lelem, de nem hinném hogy a bekötést elmagyarázz. Illetve milye e block-ot kell belőni?
Íme. A súgóban vannak a részletek hozzá.
Eddig eljutottam de az e-block-ot mire kell belőni?
Az E-block -ok ezek: Bővebben: Link. Matrix gyártmányú modulok, azokat beállítva a Flowcode tudja, mit mire kell belőni.
Régen csináltam ezeket, de működniük kell... Az spi-t init makrót ne felejtsd el,mielőtt elkezdesz adatokat küldeni!
A "keret " nevű makró egy 1 pixel széles keretet rak körbe a kijelzőre. Sajnos nem adtam nevet az adatoknak, amiket küldözget, de az adatlapból kikereshető, melyik pl a kontraszt. Nekem személy szerint nincs jó véleményem a nokia kijelzőkről. Nagyon lassú, "utánhúz". 0 fok alatt nem látszik. Többfélét is vettem anno az ebayről, a mindegyiknek problémás volt a panel és a kijelző közötti kontakt. DE kezdésnek jó, mert könnyű inicializálni. ui. a makrót (CS láb) természetesen át kell portolni! A hozzászólás módosítva: Máj 14, 2016
Köszönöm
Köszben sajna a gravitáció megoldotta a problémát és behatással volt a csipesz, táp nélkül invertáltam a szint Jelenleg nincs semi projektem amivel feltétlen foglalkozni kellene ezért előveszem a fiokban porosodó eszközöket és megporbálom életre kelteni őket, jelen esetben 2-0és nem nekem Most egy ultrahangos távolságmérő modullal küzdök de nem tudom mérni az időt hogy mennyi a visszatérés. (16f1939, 8MHz) Ezzel az eszközzel valakinek tapasztalata? Nemszeretném mással elkészíteni a programot csak az irányt keresem. (egyenlőre a kuka leg megfelelőbbirány) A hozzászólás módosítva: Máj 15, 2016
Itt: Bővebben: Link megtalálod az adatlapját. A Trigger lábat magas szintre emeled 10 us-ig, majd az Echo lábat figyeled (akár megszakításból is). A távolsággal arányosan magas szintű a Trigger. Az időt legegyszerűbben egy Timer-rel tudod mérni.
Sziasztok!
Egy egyszerű ON-OFF nyomógombos kapcsolót raktam össze. Működik is, de néha a nyomógomb prellegése bezavar, szerintem... 10 megnyomásból egyszer-kétszer nem marad a kívánt állapotba a kimenet. Ránéznétek a programra, hogy mit kellene másként csinálni? Prellmentesítés van benne. Köszönöm. A hozzászólás módosítva: Máj 20, 2016
Létezik több módszer is a pergésmentesítésre. Ha mást nem kell csinálnia a programnak, a mellékletben egy egyszerű példa, én hogyan csinálnám. Egyrészt nem lép tovább, amíg nyomva tartod a gombot, másrészt elengedés után még vár 0,1 másodpercet, mielőtt újra megnézné a gomb állapotát.
A programban érdemes a normál gombot/kapcsolót használni, ha csak egyet használsz. Sokkal kevésbé zavarézékeny, ha a gomb aktív állapota az L szint, erre mindenképpen szokj rá. Lásd melléklet. Pull-up, azaz felhúzó ellenállás, értéke lehet 1-10 kOhm. A nagyobb ellenállás könnyebben összeszedi a zavart (igaz, még mindig jobb, mint a lehúzó), a kissebb feleslegesen terheli a kapcsolót. Egy ilyen programhoz felesleges a 32 Mhz, egy is bőven elég. Alacsonyabb frekvenciával járatva kevesebbet fogyaszt. A hozzászólás módosítva: Máj 20, 2016
Szia.
Köszi,h megnézted. Valóban nem kell ilyen magas órajel, de egy régi programot alakítottam egyszerűbbre, ezért az órajellel nem foglalkoztam. Valóban, elég az alacsonyabb is... A bemenet kialakítására is több lehetőség közül választhatunk, de megfogadom a tanácsodat, ha legközelebb programozni fogok. Köszönöm.
Szia!
Lehet bele tenni szoftveres szűrést is. Pl így. Ez csak akkor vált át ha x ideig van jel a bemeneten amit az "erzekenyseg"-el tudsz állítani. A hozzászólás módosítva: Máj 21, 2016
Itt egy másik megoldás , a flow makrók használatával . (a konfig rád vár !)
Köszi a segitséget Mindenkinek! A bőség zavara...
Az én verzióm azért jó mert egy pici továbbfejlesztéssel akár 10-20 kimenetre is konfigurálható, ha van annyi lába a picnek vagy akár menürendszerré is fejleszthető .
És egyben azért rossz mert az egész program futását blokkolja amíg gombnyomást érzékel.
A programot nem blokkolja, csak a számláló nem lép tovább. Ez nem nop időzítés hogy megállítsa a programot ... Ha megszakításban csinálsz mellette valamit az tökéletesen fut tovább ,ebben a makróban megáll amíg nyomod a gombot de a a többi makrót nem befolyásolja
A hozzászólás módosítva: Máj 22, 2016
Üdvözletek!
A hétvégén volt időm foglalkozni egy nagyobb projekttel, összegyűlt 2 kérdésem, szeretnék kérni egy kis segítséget: 1. Miért van, hogy ha létrehozok C blokkban egy array-t (pl.: int valami[3]: {1,2,3}; ) majd erre nem abban a makróban hivatkozok, amelyben létrehoztam ( FCV_any=valami[2] ),akkor hibával nem forditja le (nem létező változót jelez abban a makróban, ahol hivatkozok rá). Érdekesség továbbá, hogy ugyanez a hiba jön elő akkor is, ha a hivatkozott C blokkot többirányú elágazásba teszem , ugyanabban a makróban. Ez a probléma már több másik projektben is előjött, de elérkezettnek látom az időt, hogy kérdezzek, mert magamtól nem sikerült rájönnöm... 2. 18f26k22. nagyjából 38 változóm van létrehozva, ebből 4 bool, 5Uint, a többi byte. Már nem vagyok a gép előtt, ezért csak kb 38. Ahogy elkezdek további változókat létrehozni, elkezd furaságokat csinálni a PIC, legtöbbször a B6 porton ( ezen alapból 100Hz van tmr2-vel ).Teljesen mindegy milyen néven csinálok további változókat, az eredmény ugyanaz,leáll a B6 port. Abban a tmr2 megszakításban más portokat is kezelek, ahogy növelem a változók számát, szép lassan azok is megzavarodnak. FONTOS: ezeket a frissen létrehozott változókat még nem használom, elég csak létrehoznom, hogy előjöjjön a hiba.
1: Valószínűleg lokális változót kreálsz a C blokkban. Ne kérdezd, hogyan lehet globális változót létrehozni, majd valaki, aki ért is a nyelvet, jól megmondja.
2: Lehet, hogy találtál egy hibát a programban vagy a fordítóban. Próbáld meg úgy kikerülni a hibát, hogy tömböket hozol létre, nem magyányos változókat, hátha. Többen tapapsztalták már, hogy a Boolean változó felvehet 0 és 1 -től különböző értéket is. Próbáld meg azokat Byte-ra átállítani, ez is kulcs lehet a megoldáshoz.
Köszönöm, akkor még fejtörök...
"Többen tapapsztalták már, hogy a Boolean változó felvehet 0 és 1 -től különböző értéket is" Ezeknek(is) mindíg megadok kezdőértéket, ettől még jelentkezhet a probléma?
Valószínűleg igen. Egyébként a Bool és a Byte változó egyenlő területet foglal el, az ASM kódon kívül nem nagyon ismerik a fejlesztőkörnyezetek a valós, Bool változót. Tehát kb. mindegy, RAM terület foglalási szempontból, hogy Bool vagy Byte változót használsz Flowcode-ban. Ez utóbbit nem tudom ellenőrizni, de ezt is több helyen olvastam már, nem feltétlen igaz.
Szia !
Ha te adsz a bool-nak értéket akkor nem, ha pl: egy bemenetet kérdezel le akkor igen.
Az szuper ( ehh!). Kifejezetten bemenet olvasáshoz használtam, helytakarékosságból. Ezek szerint semmit nem ért.
Viszont, ha már itt vagyok: hogy kell megadnom helyesen, c blokkban, mikor egy több bites értéket szeretnék egy regiszterben megadni? Egy bitnél tudom (pl.: set_bit(intcon, INT0IE); ) de most a CCP1CON regiszter CCP1M<3:0> bitjeit szeretném (nem maszkolva) 1-be tenni.
Köszönetem!
Én azt hittem, valahogy ez belekerül fordításkor, és a bolean-ként megadott értékeket bit array -be rendezi.
Napot!
'Z' nevű változóba szeretnék elhelyezni egy idézőjelet. Hogyan tehetem meg? Az általam ismert módszer:
|
Bejelentkezés
Hirdetés |