Anzeige:

Software PWM mit ATMEGA16 ohne TIMER

Hier finden sie die archivierten Beiträge des alten PHPBB Forums von www.loetstelle.net

Software PWM mit ATMEGA16 ohne TIMER

Von Bratensosse am 27.09.2006 20:59

Hallo zusammen,

ich bastel immoment mit einem Board was ich selber zusammengebaut habe, auf diesem Board ist eine Parallel ISP drauf mit einem BUS treiber, 6LEDs und 6 Taster die hardware seite schon über ein R-C Glied entprellt sein sollten, weiterhin habe ich noch die moglichkeit verschiedene Controller in die Fassungen zu stecken und dann über Kabel mit den I/O usw zu verbinden.

Zum programmieren benutze ich AVR Studio mit dem GCC compiler, programmiere also in C.

Nachdem meine ersten Blinkversuche erfolgreich waren, wollte ich jetzt mal eine LED langsam heller machen und dann langsam wieder dunkler machen.

Habe jetzt gelesen es gibt extra PWM Ports, die will ich aber nicht benutzen!

Habe jetzt meine ersten Schritte mit nem ganznormalen IO Pin gemacht. aber irgentwie geht des etwas ruckelig, gerade beim wieder dunkler werden, schaltet der irgentwann schlagartig aus. Kann jemand mal schnell über meinen programmstück fliegen und schauen was ich falsch gemacht habe?

vielen Dank schonmal

1]
while(1)
{

for(uint8_t i=0; i<255; i++)
{
_delay_ms(1);
for(uint8_t f=0; f<255; f++)
{
if(i<=f)
PORTA &= ~(1<<PA0);
if(i>f)
PORTA |= (1<<PA0);
}
}
for(uint8_t i=255;i>0;i--)
{
_delay_ms(1);
for(uint8_t f=255;f>0;f--)
{
if(i<=f)
PORTA &= ~(1<<PA0);
if(i>f)
PORTA |= (1<<PA0);
}
}
}
1]

Gruß
Ich

Anzeige: