Fórum témák
» Több friss téma |
Szia
Ha gondolod akkor amibe tudok segítek. . . mert egy ideje töprengek ezen!! A nyákrajzot tudom adni, csak én egy kicsit jobban kipakoltam a feszstabot hogy stabilabb legyen a program szintén megvan hozzá Flowcode-ba, egy és 3 gombosba is.. bár itt az előbb amit megosztottam abból kivettem a fölösleges hosszúságú "villogási mintákat" csak sajnos jelen pillanatban itt átmenet nélkül villannak fel nekem a ledek és alszanak el. Ebbe szeretném beleszülni a fokozatosságot. . .
Rajta vagyok az ügyön. . .
Bár van baj. . nem kevés. . .
Ilyenre gondoltál?
Mert ez végül is egy tmr_interrupt-al tölti szépen aztán 15 nél "megtelik" és újra. . vagy nem így kellett volna?
Szia !
Erre a szoftveres pwm-re nekem is szükségem lenne, de megakadtam. 4MHz -re beállítom a prescalert 1:4 -re, de utána még a TMR0 Preload is beállítanám C kódban TMR0 = 6; -ra, ezt viszont már nem tudom lefordítani. Igy lenne elvileg Interrupt Frequency 1000 Hz Interrupt Perion 0.001 sec Mit rontok el ? Üdv!
Lehet hogy én vagyok a vak de nem sok különbséget látok a kettő között lefolyásba... bár mondjuk az is igaz hogy nem nagyon értek hozzá.. én még tanuló fázisba vagyok. . .
Vagy nem így gondoltad a timert?
mert ettől sajnos nem tudtam meg többet a szoftveres pwm-ről. . ugyhogy valószínű én hibáztam valamibe. . .
Igen ez az ami nem szokott menni. . volt már egyszer kétszer hogy nehezen sikerült értelmeznem a tanácsodat hsz-edet, sajnos hiányos az ismeretem. . . .
Amúgy ezt a videosorozatot használtam mankónak.... itt egy lcd-t hajt meg vele. gondoltam csak-csak jó lesz. Amúgy más tanulni vágyónak mondom hogy pofás kis videosorozat.... Na de vissza a PWM-hez! És az értelmezéshez... Remélem jutok valamire!
Az elvet és a logikáját értem, de a megvalósítással nincs miég minden rendben. . nem akar úgy futni ahogy én szeretném! de küzdök vele.
Közbe egy párhuzamos kérdés bár lehet hogy ez inkább pices kérdés mint flowcodosezt a videot már többször belinkeltem hisz ez lenne a cél. . . Helyesebben azt szeretném hogy több ilyet egymás mellé pakolok, és a programválasztó gombok helyére kötök egy picet, az azt jelenti hogy egy pic vezérli majd az összes tömbinek a váltását, ezzel nincs is semmi gond. Amivel nekem gondom volt hogyha én össze vissza rakom be a picbe a progikat, és az előzőlegbe csatolt léptetett nevű progit rakom fel a picecbe akkor az ugye úgy néz ki hogy érzékeli a bemeneten a jelet lefut a program és utána akkor ha a bemeneten volt jel akkor lép a következőre, de ezzel gond lett volna mert mi van ha az egyik "ufo" mondjuk körbe fut a másik "ufo" villog a körbefutó mondjuk 2 másodperc a villogó meg mondjuk 0.76 másodper és a következő program mind a kettőbe mondjuk egy egyszerere futó progam lenne, akkor nem tud egyszerre futni mert az egyik program fél a másik meg 2 másodperc mulva áll meg tehát közel másfél másodperces késéssel "forog" a két ufó egymáshoz képest. . . Erre megoldás lenne az hogy a vezérlő pic a többi picnek nem csak a programváltóra küld egy jelet, hanem mondjuk az RB1 es kimenetet mindegyik vezérelt pic resetlábára kötöm és amikor programot váltok akkor ad egy jelet a rb1 es porton kifeli tehát resetálodik az összes pic és utánna küld jelet pedig a gomb bemenetére. . . . Remélem nem nagyon bonyolítottam amit el szerettem volna mondani... Annyi van mondjuk hoyg akkor minden pic első progiját üresen kell hagyni illetve egy 200 ms késleltetést beletenni hogy hogy addigra megjelenjen a bemeneten a jel, igy nincs az hoyg minden egyes resetálás után az első ág fut a többirányu elágba, már csak az a kérdés hogy reset után megmarad e az r1 r2 r3 és a funkció változó értéke. . mert csak akkor működik. . . , vagy van rá valami megoldás szerintetek? Köszönöm
Megoldás van rá. El kell menteni az értéket ramba és amikor reset után feléled visszatöltöd.
Szóval nem tudom, pár dolgot elkövettem a napokban ezzel a PWM reprodukálással, de nem lett olyan mint a hardveres.
Igen erre gondoltam hogy azoknak az értékét folyamatosan mentem a ramba, csak nem tudtam mennyire megvalósítható. . ezzel azt is elérem hogy tulajdon képen egy sima táp lekapcsolás újrakapcsolás után is ott fut tovább az "ufó" ahol abbahagyta. . Helyesebben úgy villog ahogy utoljára villogott. . .
Énis elkövettem vele jó pár dolgot de nekem se alakul úgy ahogy szerettem volna. .de én még küzdök vele
Nem kell egyfolytában menteni csak akkor ha változik.. Csinálsz egy érték összehasonlítást, és ha változott az érték akkor mented.
Inkabb valami soros protokollal kellene vezerelni egy Master-rol a sorszamozott Slave-ket. Lehet hasznalni RS485 (DMX512), vagy PBUS atvitelt. A PBUS sima drot osszekotes es soros protokoll, ahol vegulis nincs kijelolt Master, hanem minden allomasnak van egy sorszama, amire barki tud kuldeni uzenetet. Nalad lehetne csinalni egy vezerlo PIC es tobb vezerelt PIC rendszert, aholis a vezer megirja mindenkinek epp mit kell csinalnia. 9600 Baudnal ez mar szinte azonos ideju lehet, de lehet egy altalanos cim is amit mindenki felismer, tehat mindenkinek szol. Ott csak egyszer kellene kikuldeni az epp ervenyes parancsot, es mindenki azt kovetne.
Idézet: POR (Power on reset) esetén nem ugyanaz lesz az állapot, mint egy sima RESET után. „ezzel azt is elérem hogy tulajdon képen egy sima táp lekapcsolás újrakapcsolás után is ott fut tovább az "ufó" ahol abbahagyta. .”
Olvasgattam róla és valóban ilyen illetve ezeket a dolgokat említik mindenhol, de szerintem ez bőven meghaladja a képességeimet!! hát egy értelmes pwm-et nem tudok leprogramozni. . .
Amúgy igen nagyjából az az elképzelés hogy van mondjuk 5 vezérelt és 1 vezérlő pic, az 5 vezéreltbe van egy 5 ágú több irány elág. Viszont mindegyik picbe különböző hosszúságú progi van írva az ágakba, és annyi a lényeg hogy amikor vált (mind az 5 egyszerre vált, és mindegyik picbe ugyan az az ág fut egyszerrevagy a 2-es ág vagy a 3-as ág stb stb) egy másik ágra akkor egyszerre kezdje el futtatni az ágakat az összes pic ennyi a lényeg...
De nem tudom hogy felérek e én ehez a megvalósításhoz. .
ezért gondoltam inkább hogy a csatolt progi működését legalább értem illetve a logikáját is tudom és abba próbálom beleilleszteni ezt az opciót. Amúgy mennyire bonyolult az a megoldás? merre találok róla leírásokat?
Erről a PWM utánzásról lenne még kérdésem.
20MHz a quartz, elvileg 10KHz a timer. PWM 50% 200Hz. Hogy lehet magasabb frekin PWM-t létrehozni ? köszi !
Sziasztok !
Eloszlatná valaki a fejemben a homályt azt illetően ,hogy ,hogy lehet soros kommunikációval egyik PIC-ből a másikba karakter ,vagy string sorozatot küldeni ? 1 byte -ot tudok küldeni (pl. 1) ,értelmezi is a másik ,végrehajtja ,amit szeretnék.De ha azt küldöm ,hogy 12 ,akkor az 1,2 és nem jövök rá hogy kéne. Van erre valami példa ?Az examples ben nincs sajna ,csak ilyen ,amit én is kreáltam. Köszi előre is ! Üdv : István
Egy byte pontosan 256 értéket képvisel. Miért nem küldesz csak simán 12-t és nem 1-et majd 2-t.
Azt szeretnék ,de egyenként megy el.
20MHz a kristály a timer megszakítást generál, de nem kell kivárni a 256 lépést, mert lehet 128 után is megszakítás, akkor több a freki
Ha stringnek küldöd nem mehet 1 és 2 legfeljebb ha felbontod a másik oldalt karakterre.
Ha mégis így lenne, hogy külön megy át akkor rakd össze a másik oldalon az 1,2 -t.
Stringként is egyesével küldi .
Hogy rakjam össze ?
Egyik picben SendRs232Char ,vagy SendRs232String ,merthogy csak ezeket lehet ,a másik picben ennek megfelelően a vétel.
Nincs még komolyabb protokol,próbálkozás van. Jó lenne azt megoldani ,hogy pl ne csak 1 byte -ot tudjak küldeni .
Ez természetes.
Mind a kettő 4MHz -en megy ,mind a kettőnél 9600Baud van beállítva. A gondom csak az volt ,hogy nem tudtam a vevő oldalon "összeszedni" a bejövő karaktereket. Ebben segített lidi és babuka ,köszönet nekik. A fennmaradó probléma már csak az ,hogy RX INT -et kéne varázsolni a 16F648 ra.Tehát ha adás érkezik ,legyen megszakítás ,de sajnos nem megy. Valaki jártas ebben ,találkozott már vele ,mi több meg tudta oldani ? Köszönöm előre is ! Üdv : István
B port 0. bit megszakítást generálhat lefutó vagy felfutó élre
Az jópofa dolog ,de nekem RX re kell....
Igen arról lenne szó ,de nem sikerül
Hiába állítod be ,adatküldésnél (fogadásnál) nem megy megszakításba. Az előző problémámra itt a megoldásról . |
Bejelentkezés
Hirdetés |