2016-09-28 1 views
0

Ich versuche eine Bibliothek in C für die Verwendung in einem ATMEL 328pu zu erstellen. Ich habe die Quell- und Headerdateien in C erstellt, komme aber nicht zum Lesen, wenn ich versuche, die Bibliothek zu kompilieren. Ich glaube, ich brauche eine andere AVR-Bibliothek enthält die Typen:c Bibliothekserstellung für ATMEL328

  • TWDR
  • TWCR

Welche i2c-Register im ATMEGA328 sind. Eine verkürzte Version der Fehlermeldung wird unten angezeigt, gefolgt von einem Teil der CPP-Datei, auf die sich die Fehlermeldung bezieht.

Fehlermeldung:

Build: Debug in my_i2c (compiler: GNU GCC Compiler) Code_blocks/my_i2c/my_i2c/my_i2c.cpp|39|error: use of undeclared identifier 'TWCR'| Build failed: 19 error(s), 0 warning(s) (0 minute(s), 0 second(s))

Extract from.cpp Datei:

#include "my_i2c.h" 

/////////////////////WRITE BIT//////////////////// 
void my_i2c :: i2cWriteBit (uint8_t i2cAdd, uint8_t i2cReg, uint8_t i2cBit, bool i2cBool) { 
uint8_t writeBuff; 
writeBuff = i2cRead(i2cAdd, i2cReg); //read uint8_t 
i2cBool == true ? writeBuff |= 1 << i2cBit : writeBuff &= ~(1 << i2cBit); 
i2cWrite (i2cAdd, i2cReg, writeBuff); 
} 


/////////////////////WRITE uint8_t//////////////////// 
void my_i2c :: i2cWrite (uint8_t i2cAdd, uint8_t i2cReg, uint8_t i2cData) { 
/////START CONDITION//// 
TWCR = 0b10100100; //(TWINT)(TWSTA)(TWEN) - Set START condition 
while (!(TWCR & 0b10000000)) { //Wait for TWI to set TWINT 
} 

Muss ich das, was TWCR und TWDR definieren müssen, sind für den Compiler, die Funktionen zu verstehen? und wie mache ich das, ist es so, als ob ich mit einer anderen Bibliothek nachgedacht hätte?

+0

Sie sollten den Compilerbefehl eingeben. – LPs

+0

Ich weiß nicht, was das ist – hoboBob

Antwort

1

Sie können nicht auf einen nicht deklarierten Bezeichner verweisen, der es dem Compiler unmöglich macht herauszufinden, was Sie meinen.

sollten Sie wahrscheinlich

#include <avr/io.h> 

Ihrer Bibliothek Quellcode hinzu.

+0

Top Mann danke, ich wollte nicht stundenlang auf der falschen Spur verbringen, wie es manchmal scheint. – hoboBob