|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
jozzze2000 Član
Pridružen-a: Pet 25 Nov 2011 8:36 Prispevkov: 167 Aktiv.: 1.11 Kraj: Novo mesto
|
Objavljeno: Pet Dec 23, 2016 9:43 pm Naslov sporočila: Attiny45 - frekvenca PWM |
|
|
Na Attiny45 želim narediti PWM s frekvenco cca 32kHz na 8MHz frekvenci CPU.
Spodnja koda naj bi dala ven tako frekvenco, v realnosti je pa cca 4kHz.
Kaj je narobe?
Koda: |
#define F_CPU 8000000
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <stdint.h>
#include <stdbool.h>
#include <math.h>
void PortInit()
{
DDRB = 0b00000001; // 1 -> output port; // 0 -> input port
PORTB = 0b00001000; // pull-up
}
void initPWM ()
{
TCCR0A =
(1 << COM0A1) | // set inverting mode, to be able to achieve 0 value
(1 << COM0A0) | //
(1 << WGM01) | // fast PWM mode
(1 << WGM00);
TCCR0B = (1 << CS00); // prescaler = 8 --> CS01,
// prescaler = 0 --> CS00
}
int main ()
{
PortInit();
initPWM ();
while (1)
{
OCR0A = 128;
_delay_ms(5000);
}
} |
|
|
Nazaj na vrh |
|
|
Jan Član
Pridružen-a: Sob 10 Jun 2006 14:19 Prispevkov: 313 Aktiv.: 1.44 Kraj: Dolenjska
|
Objavljeno: Pet Dec 23, 2016 11:45 pm Naslov sporočila: |
|
|
Verjetno imaš v fuse bitih nastavljen delilnik glavne ure na 8,
tako da v resnici nimaš 8 MHz, ampak 1 MHz clock.
Jan |
|
Nazaj na vrh |
|
|
jozzze2000 Član
Pridružen-a: Pet 25 Nov 2011 8:36 Prispevkov: 167 Aktiv.: 1.11 Kraj: Novo mesto
|
Objavljeno: Sob Dec 24, 2016 11:01 am Naslov sporočila: |
|
|
Sem preveril, pa sta fuse bita nastavljena na privzeti vrednosti, ki naj bi bila 8MHz
Low Fuse 0x62
High Fuse 0xDF |
|
Nazaj na vrh |
|
|
jozzze2000 Član
Pridružen-a: Pet 25 Nov 2011 8:36 Prispevkov: 167 Aktiv.: 1.11 Kraj: Novo mesto
|
Objavljeno: Sob Dec 24, 2016 11:04 am Naslov sporočila: |
|
|
Sorry, sem mislil da privzeti biti pomenijo 8MHz...potem pa vidim CKDIV8
Divide clock by 8 obkljukan
Sem nastavil na
Low Fuse 0xE2
High Fuse 0xDF
pa zadeva špila
Najlepša hvala za pomoč. |
|
Nazaj na vrh |
|
|
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 69 dni
Powered by phpBB © 2001, 2005 phpBB Group
|