Hallo, arbeite mich gerade in die UART Lib von Peter Fleury ein. Was mir
da auffällt, sind die div. Abfragen z.B. in der uart.c
1 | #elif defined(__AVR_ATmega8__) || defined(__AVR_ATmega16__) || defined(__AVR_ATmega32__) \
|
2 | || defined(__AVR_ATmega8515__) || defined(__AVR_ATmega8535__) \
|
3 | || defined(__AVR_ATmega323__)
|
4 | /* ATmega with one USART */
|
5 | #define ATMEGA_USART
|
6 | #define UART0_RECEIVE_INTERRUPT SIG_UART_RECV
|
7 | #define UART0_TRANSMIT_INTERRUPT SIG_UART_DATA
|
8 | #define UART0_STATUS UCSRA
|
9 | #define UART0_CONTROL UCSRB
|
10 | #define UART0_DATA UDR
|
11 | #define UART0_UDRIE UDRIE
|
Das dient ja sicher dazu, dass der Code universell einsatzbar ist. Aber
was ich mich frage ist, wo der Wert '__AVR_ATmega8__' gesetzt wird. Ich
arbeite mit AVR Studio 4 und starte ein Projekt imme rmit dem Wizard dem
ich den uC immer mitteile. (Zuerst dachte ich, dass das nur für die
Simulation relevant ist... .)
Im makefile, das der Wizard anlegt ist dann lediglich 'MCU = atmega8' zu
finden.
Sorry für so eine blöde Frage...
Peter