Hallo liebe Comunity,
Ich kann auf meinem Demoboard die Ausgänge des ATtiny87 nicht schalten.
Ich habe 4 LEDs an den Ausgängen PB0 - PB3. Die LEDs gehen auch sicher,
da ich vor dem Auflöten des Prozessors direkt mal 5V an PB0 - PB3 gelegt
habe.
Die LEDs werden aktiv mit High getrieben.
Der Controller läuft mit 8MHz internen RC Oszillator und ISP und Fuses
lesen schreiben funktioniert problemlos.
Daher vermute ich, dass ich einen groben Fehler in meinem Code übersehen
habe.
Kann mir jemand helfen? Irgendwie komme ich einfach nicht vorwärts.
1 | #include <avr/io.h>
|
2 | #include "main.h"
|
3 | //#include "hwinit.h"
|
4 | #include <avr/interrupt.h>
|
5 |
|
6 | volatile uint8_t count = 0;
|
7 |
|
8 | int main(void)
|
9 | {
|
10 | //hw_init();
|
11 | DDRB |= 0x0F; // setze PB0 - PB3 als OUT
|
12 | TCCR1B |= (1 << CS11) | (1 << CS10); // Prescaler 64
|
13 | TIMSK1 |= (1 << TOIE1); //Timer 1 Overflow intterupt aktivieren
|
14 | sei();
|
15 |
|
16 | PORTB |= 0x0A;
|
17 | while (1)
|
18 | {
|
19 |
|
20 | }
|
21 | }
|
22 |
|
23 | ISR(TIMER1_OVF_vect)
|
24 | {
|
25 | PORTB = (count & 0x0F);
|
26 | count++;
|
27 | }
|
In main.h ist nur das define F_CPU 8000000UL.
Danke schonmal!
LG Johannes