Kai Mauer schrieb:
> Das kann in's Auge gehen, denn dort ist der Atmega8 gemeint,
da habe ich ja mit dem Wechsel vom m328p zum 1284p Glück gehabt, da
passt es.
Sogar bei den Timer3 liegt alles an "seinem" Platz so das sich die
#defines leicht ändern liessen.
1 | #if defined(__AVR_ATmega328P__) || defined(M1284P_TIM1)
|
2 | #define TIMSKx TIMSK1
|
3 | #define OCIExA OCIE1A
|
4 | #define TIMERx_COMPA_vect TIMER1_COMPA_vect // ATmega
|
5 | #define TCCRxA TCCR1A
|
6 | #define COMxA0 COM1A0
|
7 | #define OCRxA OCR1A
|
8 | #define TCCRxB TCCR1B
|
9 | #define WGMx2 WGM12
|
10 | #define CSx0 CS10
|
11 |
|
12 | #define ARDUINO_LED 5
|
13 | #define DDR_ARDUINO_LED DDRB
|
14 | #define PORT_ARDUINO_LED PORTB
|
15 | #define ARDUINO_LED_ON PORT_ARDUINO_LED|=(1<<ARDUINO_LED)
|
16 | #define ARDUINO_LED_OFF PORT_ARDUINO_LED&=~(1<<ARDUINO_LED)
|
17 |
|
18 | #elif defined(__AVR_ATmega1284P__)
|
19 | #define TIMSKx TIMSK3
|
20 | #define OCIExA OCIE3A
|
21 | #define TIMERx_COMPA_vect TIMER3_COMPA_vect // ATmega
|
22 | #define TCCRxA TCCR3A
|
23 | #define COMxA0 COM3A0
|
24 | #define OCRxA OCR3A
|
25 | #define TCCRxB TCCR3B
|
26 | #define WGMx2 WGM32
|
27 | #define CSx0 CS30
|
28 | #define ARDUINO_LED 7
|
29 | #define DDR_ARDUINO_LED DDRB
|
30 | #define PORT_ARDUINO_LED PORTB
|
31 | #define ARDUINO_LED_ON PORT_ARDUINO_LED|=(1<<ARDUINO_LED)
|
32 | #define ARDUINO_LED_OFF PORT_ARDUINO_LED&=~(1<<ARDUINO_LED)
|
33 |
|
34 |
|
35 | #endif
|
Kai Mauer schrieb:
> Die Bits sind ja leider nicht in jedem Falle in den gleiche Registern.
stimmt, man muss immer schauen!