Fórum témák
» Több friss téma |
Én MPLAB IDE v8.92 égetőt használok Pickit3-al. Ebben benne van a 12F617 is.
- Configure / Select Device - File / Import ... / HEX kiválasztás - Programmer / Select Programmer / ... Aztán még a feszültségszintet kell beállítani, hogy a programozó adja-e...
Igen de neki easypic boardja van, amire integrálva van az égető.
1: Frissíts! A 2.60-as verzió támogatja a 12F617-et
2: Mindig használj külső tápot, USB-ről kissé karcsúak a Mikroe programozói. 3: Ha valamit nem ismer, általában 12F508-nak azonosítja, amit megoldhattak volna kicsit eszesebben is. 4: Ha továbbra sem megy, az ICSP lábakról köss le mindent a programozás idejére.
Sziasztok!
PIC18F45k22 kontrollerben próbálom életre kelteni a PWM2 modult Timer4-es időalapot használva az alábbi kóddal:
A kimeneten folyamatos alacsony szint van. Ha a fentebbi kód helyett a MikroC beépített függvényét használom, akkor rendesen működik, viszont azzal csak a Timer2 használható időalapnak.
Kicsit sok a 9 bit a CCPTMRS0 regiszternek.
Amindenit...egy pár órát elszöszöltem vele, de nem tűnt fel
Köszönöm, jó is lett.
Szia!
Köszönöm a progit. Sajnos így sem jó, továbbra is 12F508-nak látja :/ . Ha rámegyek a folytatásra, akkor meg nem tölti rá. ICSP lábakról lekötöttem mindent. A hozzászólás módosítva: Jan 30, 2018
Ha 508-ast jelez, akkor magát az ic-t nem látja, vagyis semmi nem jön vissza a PG lábakon. Biztos, hogy jól állnak a switch-ek a Mikroprog kocka mellett? MCLR J1-J2-n a 3-as, PGC-PGD 2-4-es pozícióban?
VPP-first be van kapcsolva? Ennél a pic-nél kell. Külső táp? Néha ezeket a kis pic-eket nem szereti hosszú USB kábelen programozni, pláne HUB-on keresztül (kevés a táp és nincs elég VPP).
Köszi, most már működik. A jumpereken kellett állítani. Programoztam már rajta másik pic-eket, de nem is figyeltem, hogy azokat állítani kell. Amik eddig voltak, azokat meg kezelte az eddigi beállítás.
Rátöltöttem egy alap progit, ahol az egyik kimenete magasba megy, de nem csinál semmit. Konfigurációs bitek beállítva, ANSEL 0.
Sziasztok lehet rossz helyre írom de ha igen szóljatok köszönöm.
WS2812 ledről szeretnék kérdezni hogy hogyan lehet léptetni a ledeket és hogyan lehet szint válsztani(r,g,b). Programozáskor mindeki könyvtárat használ erre .... Ennyire bonyolult?? WS2812 és WS2811 között mi a külömbség?? Segítségeteket előre köszönöm A hozzászólás módosítva: Feb 1, 2018
Hali!
Az adatlapban le van írva, 1 biten egymás után sorosan kell beshiftelni az rgb biteket. Egyszerűbb meglévő könyvtárat használni, mint megírni persze lehet optimálisabb a saját rutin . Bővebben: Link
Természetesen googlet tudom használni....
Angolom nem anyira jo.. Ezért kérdeztem... Idézet: „Az időzítéseket pontosan be kell tartani.” Ez így van. Az adatlaponbetűrt szórás háromszorosánál már téveszt, és két bit között ne várd ki az 50 mikrosecet, mert azt már új adatnak veszi.
Ha erősíteni kell angolból, akkor a szokásos eljárás kezdeni a szókinccsel, vagy kezdeni a nyelvtannal, vagy tanulni együtt a kettőt, kinek melyik tetszik jobban.
Például fogni egy szótárat, és valós szöveget fordítani, fordítani, fordítani. Értelmetlen szóhalmazt kiszótárazni egyesével, és puzzlét játszani a szavakkal, hogyan tud belőlük értelmes mondat kijönni abban a szövegkörnyezetben. Pár100 oldalnyit végig kínlódsz tudatlanul, utána előkotrod könyvtárból a középiskolás angol nyelvtan könyvet (például ezt), és meg fogsz lepődni, mennyire gyorsan lehet az után tanulni meg a nyelvtant, amikor megszokás szintjén már egyébként is tudod. Szókincsre én egyszerűen csak fordítottam az intel 80386-os proci leírásából a fejezeteket (lapkönyvtár, protected mód, debug regiszterek, azok mind olvasmányos részek) és magoltam, magoltam, magoltam. Szerintem jól jön a processzorok működésének az ismerete olyankor is, ha vírust akarsz írni, vagy védelmi rendszerekbe betörni De ha az autodidakta módszerek nem a kedvenced, vannak tanfolyamok is az alapokat tanítani. Nem mintha sokkal előrébb lennél vele, elvégre helyetted tanulni senki se fog, és még cudar sok pénzbe is van. De akinek ami tetszik, van kínálatban minden. És hogy mire jó az mind? Sem elektronikában, sem szoftvertechnikában moccanni sem fogsz tudni angol nélkül sem a jelenben, sem a jövőben. Arra jó.
És ne akard C-ben kezelni, főleg ha mást is kezel a kontroller. Persze lehetséges, van rá példa és anno én is megírtam, de nem árt egy minimum 12 MIPS-es vezérlő, plusz ismerni kell azt a LED-et, meg minél hoszabb a LED-sor annál szigorúbban be kell tartani az időzítést. Kevés LED esetén lehet játszani az időzítésekkel, van ahol el lehet térni, van ahol maximumot nem ad meg ott azzal lehet játszani, stb. Keresgélj a neten van rá sok példa.
Idézet: „minél hoszabb a LED-sor annál szigorúbban be kell tartani az időzítést.” Most miért hülyíted ezt a szerencsétlent? Mi köze a ledsor hosszának az időzítésekhez? Az még az uartot, vagy a canbust sem érdekli időzítés szempontjából, hogy hány adat megy ki. Pedig jócskán érzékenyebbek rá. Ha már úgyis szóba került az adatlap. Le vannak írva az időzítési értékek. Ha kiszámolod a megadott toleranciákkal, látni fogod, hogy 700000 bit/sec-től 1100000 bit/sec-ig képes kezelni a bejövő adatot. Ezt én nem nevezném szigorúan betartandó időzítésnek. De a valóságban még ennél is nagyobb a toleranciája. Ez az adatküldő rutint PIC10F322-esre írtam, és 16MHz-s órajelen kiválóan viszi a 60 részes WS2812-es ledsort. Pedig ez már minden határérték alatt van.
Szakmaival van igazából nagybajom de rágyúrok
Azért nem hasonlítanék 1 eszközön kimenő adatsort 2-300-on átmenőhöz. Nem egy cső amin átfolyik. átszottam vele eleget. És hiába írtad te meg pic10-re amikor ő MikroC-t használ, akkor cseszheti a 16Mhz-et. 12 MIPS-en meg a Mikroc-vel is tud valamit kezdeni vele.
16 MHz PIC10F322 utasítás végrehajtási ideje 0.25 us. A goto -é kétszer ennyi, ha végrehajtja, ill. ugyanennyi, ha átlépi.
A kódod kétféle képen futhat le a 7. sorban levő utasítástól függően: Ha "átlépi" a goto -t mivel a tesztelendő bit 1. A 7 .. 14 utasítás végrehajtásának ideje 8* 0.25us, ha a decfsz az ugrásra viszi a végrehajtást, akkor a ciklusban még kétszer 0.25 us lesz a goto miatt. Ez összesen 10 * 0.25us azaz 2.5us. A WS2812 adatlapja szerint a T1H + T1L = 0.7 (+/- 0.15) + 0.6 (+/- 0.15) us, aminek maximuma 1.3 + 0.3 azaz 1.6 us. Ha végrehajtja a goto -t mivel a tesztelendő bit 0. 7. utasítás 0.25 us, a 8. -é 0.5 us, a 18...23 lépésé 6 *0.25 us + 2 * 0.25 a goto miatt. Összesen 11 * 0.25us = 2.75 us. A WS2812 adatlapja szerint a T0H + T0L = 0.35 (+/- 0.15) + 0.8 (+/- 0.15) us, aminek maximuma 1.15 + 0.3 azaz 1.45 us. Valamit elszámoltam volna?
Szerintem a diagramok érthetők angol tudás nélkül is.
WS2812: Note: Follow the order of GRB to sent data and the high bit sent at first. Hevenyészett fordításban annyit tesz: Kövesd a megadott sorrendet a G R B adatok küldésénél. A magas helyiértékű bitet küld előbb. WS2811: Note: Follow the order of RGB to sent data and the high bit sent at first. Hevenyészett fordításban annyit tesz: Kövesd a megadott sorrendet a R G B adatok küldésénél. A magas helyiértékű bitet küld előbb.
Nem. Semmit nem számoltál el. Csupán figyelmetlenül olvasol.
Idézném, amit ugyanezen hozzászólásban írtam: Idézet: „De a valóságban még ennél is nagyobb a toleranciája. Ez az adatküldő rutint PIC10F322-esre írtam, és 16MHz-s órajelen kiválóan viszi a 60 részes WS2812-es ledsort. Pedig ez már minden határérték alatt van. ” Ugyanis az 1-Wire rendszereknél a valóságban csupán 2db fontos tényező van. 1. 0 jel küldésénél ne legyen rövidebb a magas inpulzus annál, mint amit a vételi oldal érzékelni tud. 2. 0 jel küldésénél előbb érjen véget a magas inpulzus, mint amennyi a jel kezdetétől a vizsgálatig eltelő idő. A továbbiakban a rendszer egészen addig vár az újabb jel érkezésére, amíg a reset idő le nem telik. Ezt több különböző 1-Wire eszközön leteszteltem már. Csak a WS2812-es ledből 3 különböző gyártmányon. Még annyit tennék hozzá, mer a rutin csak az adásra vonatkozik, hogy két byte küldése között majdnem 4 usec telik el, és az ellen sem emel a WS kifogást.
Zavart érzek az erőben...
Mire gondolsz?
Arra, hogy a standard 1Wire alap magas jelet húz alacsonyra, a WS pedig fordítva? Vagy a jelek aránya nem oké? Azt már meg sem említi a WS adatlapja, hogy amíg a standard 1-Wire jobbra lépteti a biteket, addig a WS számára balra kell. (Ez utóbbit meg is szívtam, mert nem könyvtári, hanem saját rutinnal dolgozom, és automatikusan jobbra léptettem a biteket.) De végül is ez lényegtelen. Lényeg, hogy nem mágia az 1-Wire, és mivel meglepően rugalmas és stabil, nem kell tartani a vele való kísérletezéstől.
Tovább böngészve már rájöttem, hogy tényleg más dologról írunk:
Meglehet, Neked WS2812D típussal megy ez a program. A sima WS2812 nálam nem volt ennyire toleráns. A hozzászólás módosítva: Feb 3, 2018
Igazából én egy ilyen ledszalagot rendeltem a HESTORE-ból, ezt hajtja a PIC10-es. Azonban a szalagon lévő ledek kinézetre nem olyanok, mint a képen, hanem ilyenek.
Innen kezdve akár igazad is lehet.
Azokkal a programozható ledekkel mennyire aprólékosan lehet kikeverni színeket a gyakorlatban?
Szia!
Az én személyes tapasztalatom az, hogy valamilyen fényterelő használata nélkül csak kellő távolságból nézve hatékony a színkeverés. Különben külön - külön láthatóak a ledek. Persze a 16 millió szín az nem igaz. Csupán 16 millió variáció. Elvégre attól, hogy egy adott szín kisebb vagy nagyobb fényerővel világít, még nem változik meg maga a szín. De azért elég sok szín kikeverhető a teljes, összesített fényerő kb 50 százalékán. Nagyobb fényerőnél már csökken a kikeverhető színek száma. |
Bejelentkezés
Hirdetés |