Sorry, sorry, Markusj, als Newbie kann ich die asurolib noch nicht so richtig lesen (geschweige denn alles verstehen) und wußte nicht, dass die Motorsteuerung timer1 benutzt. Ich wollte den Asuro lediglich als board benutzen und mal die timer-Funktionen ausprobieren. Das hab' ich jetzt gemacht, in dem ich alles asuro-spezifische im code gelöscht habe und siehe die 1-sec-BlinkLED funktioniert. Den funktionierenden code hänge ich nochmals an, der vielleicht auch andere Neulinge interessiert. Vilem
Code:
/*Fcpu = 8 MHz, TIMER = 1/sec, BlinkLED = 1/sec*/
#include <avr/io.h>
int main(void)
{
DDRD |= (0x04); // PD2 als Ausgang (daran hängt die rote StatusLED)
DDRB |= (0x01); //PB0 als Ausgang (daran hängt die grüne StatusLED)
PORTB &= ~ (0x01); // PB0 nicht gesetzt (grüne StatusLED aus)
PORTD |= (1 << 2); // PD2 gesetzt (StatusLED rot an)
DDRC |= (1 << 2); // Port PC2(=ADC2) als Ausgang
//Hardware:BlinkLED-Anode an PC2,Kathode über 560 Ohm an GND
TCCR1B |= (1 << CS12); // set up timer at Fcpu/256
for (;;)
{
if (TCNT1 >= 15624) // check counter
{PORTC ^= (1 << 0x02);// toggle die BlinkLED
TCNT1 = 0; //counter zurücksetzen,
}
}
return (0);
}
Lesezeichen