Hallo,
Könnte mir mal bitte jemand drüber schauen wo ich meinen Fehler
eingebaut habe? Es soll eine yc gesteuerte nicht invertierende fast PWM
werden. Jetzt, wenn ich sie auf den controller lade, fängt es sofort von
0 bis ganz hell zu werden. Ohne das ich einen Taster betätige. Und
bleibt dann hell. Auch eine taster betätigung bring keine veränderung,
egal welcher art. Ich kann mir das noch so oft durchsehen, ich sehe
meinen fehler nicht.
-Atmel Studio 6.2
-original AVR mk2 ISP PRogrammer
-ATMEGA8A
*
* GccApplication12.c
*
* Created: 30.08.2016 12:30:27
* Author: Huber
*/
#include <avr/io.h>
#include <avr/interrupt.h>
#define F_CPU 1000000UL
#include <util/delay.h>
int main(void)
{
DDRB |= (1<<PB1);
PORTD |= (1<<PD2) | (1<<PD3);
//FAst PWM nicht invertiert einstellen
TCCR1A |= (1<<WGM10); // PWM 8 bit
TCCR1B |= (1<<WGM12); //
TCCR1B |= (1<<CS12); // Vorteiler 256
TCCR1A |= (1<<COM1A1); // nicht invertierender pwm modus
OCR1A = 0;
sei();
while(1)
{
if (!(PIND&(1<<PD5))) //wenn taster 1 gedrückt ist dan...
{
if (OCR1A < 255) // wenn der maximalwert noch
nicht erreicht ist, dann
ledheller
{
OCR1A++; // verbreite die signalbreite um eins 1
}
_delay_ms(15);
}
if (!(PIND&(1<<PD3)))
{
if (OCR1A > 0)
{
OCR1A--;
}
_delay_ms(15);
}
}
}