Atmel Studio 7 c/c++ Compiler Problem

#5003433
Lesenswert?

Moins,

Ich verwende in einem Projekt in Atmal Studio den TWI Treiber von Atmel. 
Der ist in C geschrieben, ich programmiere in C++. Deshalb muss ich ihn 
mit einbinden.

Mein Problem ist nun, dass der C-Compiler die Definitionen aus dem .h 
file nicht mehr im .c file findet:

Hier kleine Auszüge aus den Programmen:

TWI_Master.h
1
#ifndef TWI_Master_h
2
#define TWI_Master_h
3

4
#ifdef __cplusplus
5
extern "C" {
6
/****************************************************************************
7
  TWI Status/Control register definitions
8
****************************************************************************/
9
#define TWI_BUFFER_SIZE 4   // Set this to the largest message size that will be sent including address byte.
10

11
#define TWI_TWBR            0x0C         // TWI Bit rate Register setting.
12
                                        // Se Application note for detailed 
13
                                        // information on setting this value.
14

15
und so weiter ....

TWI_Master.c:
1
#include <avr/io.h>
2
#include <avr/interrupt.h>
3
#include "TWI_Master.h"
4

5

6
static unsigned char TWI_buf[ TWI_BUFFER_SIZE ];    // Transceiver buffer
7
static unsigned char TWI_msgSize;                   // Number of bytes to be transmitted.
8
static unsigned char TWI_state = TWI_NO_STATE;      // State byte. Default set to TWI_NO_STATE.
9

10
union TWI_statusReg TWI_statusReg = {0};            // TWI_statusReg is defined in TWI_Master.h
11

12
/****************************************************************************
13
Call this function to set up the TWI master to its initial standby state.
14
Remember to enable interrupts from the main application after initializing the TWI.
15
****************************************************************************/
16
void TWI_Master_Initialise(void)
17

18
usw....

Hier spuckt mir der Compiler folgende Fehlermeldungen aus:
1
    Building file: .././TWI_Master.c
2
    Invoking: AVR8/GNU C Compiler : 5.4.0
3
C:\Users\steingas\Documents\Atmel Studio\7.0\HomeLED_Anz\HomeLED_Anz\TWI_Master.c(52,31): error: 'TWI_BUFFER_SIZE' undeclared here (not in a function)
4
     static unsigned char TWI_buf[ TWI_BUFFER_SIZE ];    // Transceiver buffer
5
                                   ^
6
C:\Users\steingas\Documents\Atmel Studio\7.0\HomeLED_Anz\HomeLED_Anz\TWI_Master.c(54,34): error: 'TWI_NO_STATE' undeclared here (not in a function)
7
     static unsigned char TWI_state = TWI_NO_STATE;      // State byte. Default set to TWI_NO_STATE.
8
                                      ^
9
C:\Users\steingas\Documents\Atmel Studio\7.0\HomeLED_Anz\HomeLED_Anz\TWI_Master.c(56,7): error: variable 'TWI_statusReg' has initializer but incomplete type
10
     union TWI_statusReg TWI_statusReg = {0};            // TWI_statusReg is defined in TWI_Master.h

Da im .c file TWI_BufferSize und TWI_NO_State definiert wurden müsste 
der compiler diese eigentlich finden.

Diese Definitionen sind von Atmel.
Wo liegt der Fehler?

Viele Grüße

Alexander

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren