Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo.
Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.
Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius,
kurie nesilaiko forumo taisyklių.
Pastebėjus nusižengimus, prašome pranešti.
Dabar yra 2025 05 11, 21:25. Visos datos yra GMT + 2 valandos.
Jūs negalite rašyti naujų pranešimų į šį forumą Jūs negalite atsakinėti į pranešimus šiame forume Jūs negalite redaguoti savo pranešimų šiame forume Jūs negalite ištrinti savo pranešimų šiame forume Jūs negalite dalyvauti apklausose šiame forume
Norėčiau pakurti trijų kanalų PWM LED valdymui, naudojant OC1A, OC1B ir OC2. Niekaip nepavyksta tai padaryti. Gal kas galėtų pasakyti kokius Timer1 ir Timer2 režimus nustatyti, kokios registrų reikšmės turėtų būti.
Ir kam gi tas OC registras bus aukojamas?
Tiesiog TCNT nustatomas 255 reiksmiai ir turi 8 bitu pwm.
Datasyte viskas labai graziai paiskinta... Abejoju ar atsiras idiotas kuris uz tave rasys puse programos...
Su Libais pakurti išeina 2 kanalus su Timer 1, bet be Libu ne. Skaičiau aprašyma, bet nelabai aiškiau pasidarė. Būtų neblogai kad paaiškintumėt pati PWM generavimo principą. Nežinau kokį PWM tipą naudoti (FAST PWM?).
neseniai pats zaidziausi su tuo 16bit taimeriu... PWM veikimas labai gerai paaiskinamas datasyto paveisliukuose.
TCNT skaiciuoja nuo 0 iki virsunes , pvz nustaciau virsu su ICR1, tarkim 255; tada norint kad daznis butu ant OC1A kojos parasiau OCR1A =127, ir ant tos kojeles buvo daznis(koks nepamenu galima paskaiciot) su 50procentu "skverbtim" tai va tcnt skaiciavo reiksme nuo 0 iki 255, tuo metu koja buvo loginiam 1, bet kai pasiekdavo reiksme 127 tada koja numesdavo iki nulio ir toliau skaiciuodavo iki 255. tada vel ijungdavo 1, ir vel pradeda skaiciuoti 0-255. antrai kojai naudojau OCR1B.