Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- Sundesz: 20 éve a PH!-n
- jakra: Retro gyujtemenyem (cloud synced for safety...)
- Luck Dragon: Asszociációs játék. :)
- WireGuard VPN a mindennapokra
- ldave: New Game Blitz - 2025
- Brogyi: CTEK akkumulátor töltő és másolatai
- GoodSpeed: Haworth Aloha – egy nemcsak szavakban ergonomikus szék
- eBay-es kütyük kis pénzért
- sziku69: Szólánc.
Új hozzászólás Aktív témák
-
DarkByte
addikt
Szia!
Ez nem igaz hogy a belső PWM-el nem lehet más négyszögjelet generálni.
Itt van egy elég jó és hosszabban emésztős leírás a témáról: [link] Bele lehet tekeredni de érdemes előbb valami egyszerű példával kezdeni, pl. LED villogatatása pár hertz-en mert az látványos.
Annyi hogy ez már az AVR alacsony szintű programozásának része, viszont még az ATmega doksijában is találsz hozzá így leírást.Az AVR procinak ami az Arduino-ban található van három belső időzítője amelyet lehet programozni és ezek a fő program működésétől függetlenül csinálnak dolgokat, tehát a végrehajtási szálon futó programot nem befolyásolják közvetlenül, viszont ha szeretnéd tudnak megszakításokat generálni a programodban, vagy a programodból menet közben is tudod őket módosítgatni. De akár totál magukra is lehet őket hagyni és generálják a négyszögjelet amíg áramtalanítod a lapot.
Röviden az alábbi dolgok kellene ahhoz amit szeretnél:
- órajel osztás (clock divider), az Arduino 16Mhz-es órajelét leosztva generálsz egy másik órajelet az időzítőnek. Nyilván a 16Mhz nagyon gyors, tehát előbb ezt közel kell hozni a neked kellő 4kHz-es jelhez. 1, 8, 64, 256, 1024-es leosztások léteznek. Pl. 1024-el leosztva 15,625 kHz-es jellel dolgozó időzítőt tudsz csinálni.- PWM jel rákapcsolása valamelyik kimeneti tűre (Compare match output, ha az időzítő eléri a limitet, invertálja egy tűn a kimenetet, ergó kapcsolgat 0V és 5V között amivel négyszögjelet kapsz)
- időzítő felső határ (timer top limit), ez pedig a felső határt mondja meg. ha nem piszkálod ez alapból 0 vagyis amikor túlcsordul az időzítő akkor generál váltást.
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. Ekkor ugye kezdi előről, ergó pont azt csinálja amit szeretnél.
Sajna én is régen csináltam már ezt így végig kellene olvasni hogy melyik időzítő mód tudja pontosan ezt amit leírtam neked. De talán ez már jó kiindulási alap

Új hozzászólás Aktív témák
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- One otthoni szolgáltatások (TV, internet, telefon)
- Milyen videókártyát?
- Milyen okostelefont vegyek?
- PlayStation 5
- iPhone-t használók OFF topikja
- Elektromos cigaretta 🔞
- sziku69: Fűzzük össze a szavakat :)
- Elon Musk billiomos lesz, ha kitör a gépek forradalma
- Pánikban a világ a Radeon RX 5000 és 6000 sorozat támogatása miatt
- További aktív témák...
- Bontatlan! Új Lenovo Thinkpad T14 G5 Tartós Üzleti Laptop 14" -45% Ultra 7 165U 16/512 FHD+ Magyar!
- Bomba Ár! Fujitsu LifeBook E751 - i5-2GEN I 4GB I 500GB I DVDRW I 15,6" HD I Cam I W10 I Gari!
- Bomba ár! Dell Latitude E6440 - i5-4GEN I 8GB I 256SSD I 14" HD I HDMI I Cam I W10 I Garancia!
- Bomba ár! Dell Latitude E6540 - i5-4GEN I 8GB I 500GB I HDMI I 15,6" HD I Cam I W10 I Garancia!
- Bomba Ár! Lenovo ThinkPad E15 G4 AMD - Ryzen 5 5625U I 8GB I 256SSD I 15,6" FHD I HDMI I W11 I Gari
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


