AVR programozásnál a kimeneti PWM jel mitől nem megfelelő?
Attiny13a szeretnék programozni de a beállított frekvencia nem megfelelő.
Ha beállítom Fast PWM módra majd a "prescaler" 0-ra akkor is maximum 4,6Khz kapok a kimeneten.
A CPU 9,6Mhz re van állítva ezek szerint Fast PWM módba Fpwm = cpu/(N*256)
N = prescaler
akkor 37500hz-nak kellene lennie de valami miatt nem azt kapom hanem 4.6khz.
#include <avr/io.h>
#include <avr/delay.h>
#define F_CPU = 9600000UL
void SetPwm(){
TCCR0A |= (1<<COM0B1)|(1<<COM0B0)|(1<<WGM01)|(1<<WGM00);
TCCR0B |= (1<<CS00);
}
int main(void){
DDRB |= (1<<DDB1);
SetPwm();
OCR0B = 127;
while (1)
{
}
}
AVRdede vagy extreme burneral ha kiolvasom a fuse bit akkor 9,6Mhz van állítva a belső oszcillátor.
Próbáltam GTCCR |= (1<<PSR10); de semmi változás.
Ha az elosztó 8 akkor 580Hz jelenit meg mint PWM.
Szóval a képletből sehogy nem jön ki nekem.
Egy táp hoz kellene mint meghajtó AVR-->opto-->Mosfet-->Tekercs
Te lehetsz az első, aki segít a kérdezőnek!
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!