Hirdetés
Új hozzászólás Aktív témák
-
DarkByte
addikt
Tegyük fel hogy pl. leosztod az órajelet 1024-el. Ekkor ugye 15625kHz-es négyszögjelet kapsz ha az rá van kapcsolva valamelyik kimeneti tűre. 16 bites időzítő esetén ekkor még beállítod a felső limitet 800-ra vagy 4000-re és úgy kell konfigurálni az időzítőt hogy a limit elérésekor nullázódjon.
Viszont közben gondolkodtam és ez így nem jó. Mint írtam régen csináltam már. Szóval az órajel hatására növekszik a timer értéke. Minél jobban leosztod az órajelet annál lassabban számol előre a timer. Ergó ha 1024-el osztod le a főórajelet akkor a fő órajel minden 15626Khz-es ciklusára növekszik a timer. Ergó vissza kell számolnod hogy mi legyen a top limitje a timer-nek ha 8Khz-es jelet akarsz. Nem akarok okoskodni mert tényleg régen csináltam, olvasd el a doksit amit linkeltem, abban vannak példák konkrét számításokkal.
#93: oké
Bocs még egyszer a kavarásért. Ha van oszcilloszkópod akkor már előnyben vagy. Én anélkül próbálkoztam és úgy eléggé sötétben tapogatózás. Hangkártyával próbáltam digizni a jelet egy fotószenzoron keresztül. Sajna elég gyenge megoldásnak bizonyult de a semminél több. (szegény ember vízzel gőz
) -
DarkByte
addikt
Még valami. Érdekesebb a helyzet ha pl. csak bizonyos számú ciklusig akarsz egy négyszögjelet generálni. Pl. van egy protokoll amihez a jelet generálod. Ilyenkor fontos hogy pontosan a négyszögjel emelkedő vagy leeső élénél kezdjen el máshogyan viselkedni az időzítő. Ekkor már képbe jönnek a megszakítások. Illetve ha túl gyors a protokoll (az interrupt kezelőd hosszabb ideig fut mint két átmenetet közti idő) lehet érdemes az egész időzítő alapú működést elvetni és tisztán a kódból kapcsolgatni a jelet. Ilyenkor viszont el lehet kezdeni számolgatni hogy az AVR-en egy utasítás mennyi időt emészt fel hogy szinkronban maradj a protokollal. Ilyenkor szoktak egyébként átváltani AVR assembly-re, mert ott minden utasításra megvan a pontos órajelciklus ami kell a végrehajtásához. De ez már tényleg csak a legvége a dolognak, a Te négyszögjeled sokszor lassabb mint az Arduino tehát a megszakításokkal való operálásnak működnie kell ha szükség van az élenkénti időzítő módosításokra.
Én pl. a C64 soros portjához csináltam még múlt év elején egy illesztést és ahhoz van egy egész pontos dokumentáció hogy a protokol időzítései hogyan alakulnak. Mivel ott még azt is meg akartam oldani hogy a géptől közben stream-elem az adatokat, fontos volt hogy amíg a négyszögjel generálódik mást is tudjak csinálni viszont amikor eljött az idő atom pontosan tudjak reagálni. Erre nagyon jó a timer mert amíg nem éri el a limitet futhat a főszálon lévő program (ami fogadja az adatokat és elmenti egy közös RAM területre), de amikor a jellel kell foglalkozni a megszakítás félrerakja a programomat és meghívja a jel módosításáért felelős kezelőt ami gyorsan megcsinálja amit kell, kilép és folytatódik a főszálon a program ahol abbamaradt.
Új hozzászólás Aktív témák
- AliExpress tapasztalatok
- exHWSW - Értünk mindenhez IS
- Filmvilág
- gban: Ingyen kellene, de tegnapra
- Apple iPhone Air - almacsutka
- Azonnali alaplapos kérdések órája
- Sorozatok
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- VR topik
- Samsung Galaxy Watch6 Classic - tekerd!
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone i5 12400F 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- Dell és HP szerver HDD caddy keretek, adapterek. Több száz darab készleten, szállítás akár másnapra
- GYÖNYÖRŰ iPhone 12 Mini 64GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS2955, 100% Akkumulátor
- ÚJ Microsoft Surface Laptop 7 13.8" 2K - 120Hz Érintő - Snapdragon X Elite - 16GB - 512GB-2 év gari
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RTX 3050 6GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest
Bocs még egyszer a kavarásért. Ha van oszcilloszkópod akkor már előnyben vagy. Én anélkül próbálkoztam és úgy eléggé sötétben tapogatózás. Hangkártyával próbáltam digizni a jelet egy fotószenzoron keresztül. Sajna elég gyenge megoldásnak bizonyult de a semminél több. (szegény ember vízzel gőz
)

