Fórum témák
» Több friss téma |
2 errort dob,nincs inicializálva amp,volt.
A kiírást érdemesebb 1 makróba rakni,létrehozod 2 változóval,cím-adat. Valahogy így.Import makro. A hozzászólás módosítva: Márc 31, 2014
Nekem nem dob hibát, viszont nem megy, a kiírást azért teszem kétszer mert a Display_Value makró egyszerre csak 4 digitet kezel, mellékelem a projekt féjlokat. ( A Flow 4.3 csak ezzel tudok forditani is.)
A hozzászólás módosítva: Márc 31, 2014
Kezdőérték nincs megadva.Elvileg bekapcsolás után bármilyen értéket felvehet.
Azért írtam, import makro. Ez az fcm 4-essel van. A hozzászólás módosítva: Márc 31, 2014
Köszönöm, ezt tanulmányoznom kell, hogy megértsem. (5-ös Flow-al meg tudtam nyitni csak ezzel nem megy a fordítás)
Sziasztok!
Tudom hogy ez nem a ki mit épített / programozott/ topik de sikerült megértenem és a használatba átültetnem a TMR-ek használatát.... így most már pontosan tudok időzíttetni és számoltatni a PIC-el Kaqkk -nak köszönhetően!! Mellékelek is egy kis egyszerű órát...
Sziasztok
Összeállítottam egy egyszerű 4*7 digites vezérlést, egyszerű szám kiírás egyenlőre. PIC16F877A. A flowcode szimulátorában jól jelzi ki a számot, amit ki kell írni. Viszont a próbapanelen inverzbe jelenik meg. Tehát ha az "1" szám van kiíratva, akkor "E." jelenik meg. Tehát még a DP is megjelenik, holott annak sem kéne. A PORTD-re vannak kötve a szegmensek, ezt kellene valahogy "megnegálni" Nem biztos, hogy ez a megoldás, de egyenlőre nincs más ötletem. A kijelző közös katódos, a PIC és a kijelző katódjai között van egy ULN2003 driver. Az adatlapban nem találtam arra megoldást, hogy a PORTD kimeneteket inverzbe kapcsoljuk. Lehet h benne van, csak elkerülte a figyelmemet? A hozzászólás módosítva: Ápr 1, 2014
Arramár rájöttem, hogy a flowcode-ban közös anódos a bekötés.
Tehát ezért lenne rá szükség, hogy a szegmensek vezérlését megnegáljam. Jó lenne ha sikerülne szoftveresen, mert akkor nem kéne még egy ULN2003 IC.
Ha a flow kijelző makróját használod ott átállítható közös katódosra ...
Köszönöm.
Bevallom azt nem néztem, mert 4*7 digites a kijelzőm Így már tiszta sor, az 1 digitesből kell 4db.
Sziasztok!
Kérdezni szeretném hogy tudok e olyan feltételes elágat csinálni ahol több kritériumnak kell teljesülnie? Értem pl: Van 4 bemenet első elág akkor igen ha 1,2,4 magas második elág akkor igen ha 2,3,4 magas stb stb... Köszönöm!
A bemeneteket "port ként"kezelve egyszerűen megoldható ...
Köszi a javaslatot, nemsokára kipróbálom, de így első ránézésre ez lesz a megoldás.
Kpróbáltam...
Amig 1 digire kell kiírni egy számot, nem gond. Viszont ha kettőre vagy többre, akkor már mind a négy digitre kiirja az utolsóban lévő számot. Egymásután négy komponens makro meghívása, más-más tartalommal, de mindig az utolsó makroban lévő számot irja ki mind a négy kijelzőre. A progit nemsokára felteszem, de most tabletről irok. Ez mitől lehet ?
A sima, egy digites.
Ugy van bekötve, hogy mindegyik digit A-G és a DP is azonos pic lábra vabnnak kőtve. A digit általános lába, gondolom ez az anód vagy a katód, ez van kötve egy másik pic lábra. Értelemszerüen ez mind a négy digitnél más pic lábra megy. Mindha multiplexben lenne bekőtve.
Köszi a megoldást, hamarosan leprogramozom.
Nem értem, hogy miért bonyolították meg ennyire. Pedig egyszerűnek tűnik az egy digites komponens makró használata. Az általad leírt mgoldással is
Üdv!
A következőben kérnék segítséget: 18f8720, PORT F. Mellékelem a C állományt is, abban látszik a hiba. Tehát: Ha egyesével címzem meg az F port bármely bitjét (egy időben csak egyet teszek 1-be), akkor a kiválasztott bit magasra vált. Viszont, ha több bitet teszek lépésről lépésre1-be mindig csak az utolsónak 1-be tett lesz 1. Szimulációban működik, ( a progi végén mindhárom led világít), valós környezetben viszont csak az F4 magas. A fordított C állományban látszik, hogy a TRISF nem az Fc-ben beállított. Valamint: Ha teljes portként címzem 255-értékkel, akkor minden bit magas, ahogy kell. Ki lehet ezt javítani az Fc -ban?
Szia.
Beírtam, de valami nem stimmel. Ránéznél Simpi, mit rontottam el. Köszönöm.
Rendben, megvárom. Addig is próbálgatom...
Üdv!
pic12f675-ből van pár darabom,de ebben nincs pwm-kiment.. Van e valakinek egy példa programja hogy miként lehetne vele 3 pwm-et előállíítani 3 kimenetére?
A 18F-eknél nem a PORT-ra írunk, ha nem a LAT-ra. Az RMW hiba miat történik az, amit leírtál(ha nem tudod mi az, keress rá a PIC-es topicokban). Tehát az összes port műveletet le kell cserélni lat-ra. Ha ezt a flowcode nem tudja, akkor én sem tudom mi a megoldás...
A többi port jól működik... szerencsémre ezt a portot tudom byte-ban kezelni (kijelző szegmensek vannak rajta). Szerintem az Fc-nek tudni kellene, ez, gyanítom, hiba.
A hozzászólás módosítva: Ápr 2, 2014
Szia.
Kaqkk: tudnál példa programot csatolni arról, hogy hogy kezelsz le 4db 1 digites kijelzőt? Amit javasoltál az rendben van, de mint említettem van gondom vele. A 4*7 digites az működik ahogy kell, mondjuk nem annyira tetszik mert a kijelzett számok fényereje nem egyforma a multiplex miatt... Idézet: „A kijelző fogyasztása is változik a kijelzett tartalom függvényében.” Nem tudom, hogyan lehetne olyat, aminél nem... Ha egy LED világít, akkor az fogyaszt, ha nem, akkor nem. Mindegy, hogy hogyan van multiplexelve, vagy nem?
Talán lehetne olyat, hogy a közös oszlopokra is időosztással kapcsolni be a sorokat és akkor nem kéne meghajtó, mert a max áramot 1 LED határozná meg, csak akkor sokkal gyorsabb multiplexelésre lenne szükség és nagyobb impulzusáramra, hogy a LED-re jutó rész elég legyen a fényességhez. Ekkor minden ágon vagy 0, vagy x áram folyhatna.
De érdemesebb meghajtót használni...
Köszönöm.
Majdnem ugyanezt csináltam meg, de mégse Tovább haladok az ismeretlen uton, de már nem annyira ismeretlen Egy I2C órán gyakorlok, már LCD-n megy a program, most próbálom LED-es kijelzőre applikálni.
Üdv Mindenkinek.
Encoder kiértékelésével ténykedem jelenleg. Az encodert hogy lehet két érték közé (min. és max.) állítani? Az a gondom, hogy ha eléri a felső limit határát, akkor, jobb híján nullázom. Ez működik is. Jobb lenne, ha nem nullázni kéne, hanem kikapcsolni, de akkor ugye nem fogok tudni értéket beolvasni, mert ki van kapcsolva. Viszont alsó értéknél, 0 alatt leáll az encoder olvasás, kiakad. Egyszerűen nem találom a hibát. Pedig elvileg ugyanzt kéne tennie, mint a felső értéknél. Ha 0 érték alá megy (negatív lesz), akkor nullázom, ekkor értéke 0 lesz. Ekkor ezt már megint ki lehet értékelni, mert nem 0 alatt van. Hol hibázik a számításom? Esetleg valakinek ötlete erre? Az encoderem egy "Klikkre" 4 értéket ad vissza, ezért osztom 4-el. Ez egy egyszerű "PWM" lenne, fix (20ms) kitöltéssel, de a periódus időt szeretném változtatni az encoderrel 100ms-1000ms között. Köszönöm.
Az értékek növelése, csökkentése elé tegyél be egy feltételt. Ha elérte a max-ot, vagy a mint, akkor nem növeled, csökkented az értéket tovább...
Köszönöm, erre nem is gondoltam.
Rögtön le is próbálom. Erre nem gondoltam
Nem értem...
Csak a kiolvasott értékem van, nem növelek és csökkentek változót. Amit az encoderből kiolvasok azzal írom be a period változóz. Az encoder értékét nem tudom írni, nem tudom változtatni. Van benne feltétel, de nem az igazi. A hozzászólás módosítva: Ápr 4, 2014
|
Bejelentkezés
Hirdetés |