led faden
2 berichten
• Pagina 1 van 1
led faden
Hey mensen ik probeer met een atmega328p chip een ledje te faden. maar als ik de code upload knippert het ledje steeds iet sneller tot die op 100% zit en begint dan op nieuw.
iemand enig idee hoe dit kan?
mijn code:
het circuit:
https://ibb.co/cXpsJ9K
iemand enig idee hoe dit kan?
mijn code:
- Code: Alles selecteren
/*
* ATMEGA_PWM.c
*
* Created: 25/02/2021 23:02:45
* Author : tom
*/
#define F_CPU 16000000UL
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
double dutyCycle = 0;
int main(void)
{
DDRD = (1 << PORTD6);
TCCR0A = (1 << COM0A1) | (1 << WGM00) | (1 << WGM01);
TIMSK0 = (1 << TOIE0);
OCR0A = (dutyCycle/100.0)*255.0;
sei();
TCCR0B = (1 << CS00) | (1 << CS02);
while(1)
{
//TODO:: Please write your application code
_delay_ms(100);
dutyCycle += 10;
if(dutyCycle > 100)
{
dutyCycle = 0;
}
}
}
ISR(TIMER0_OVF_vect)
{
OCR0A = (dutyCycle/100.0)*255;
}
het circuit:
https://ibb.co/cXpsJ9K
Advertisement
Re: led faden
jij zet dutycycle op double maar je rekent met float (100.0) als je de werkelijke hebt zet deze dan naar double (dutycycle), verder doe je iets fout met de timer, want dat geknipper moet veel sneller zijn.
paul deelen
shooter@home.nl
shooter@home.nl
2 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 9 gasten