Hallo allesamt,
ich habe mal ein kleines Programm für die I2C Kommunikation mit einem
Sensor geschrieben, aber noch ein paar kleine Probleme. Könnte vllt. mal
jemand kurz draufschauen, ob er offensichtliche Fehler findet?
i2c_start_wait(ISL29010+I2C_WRITE);//Mit Polling auf den Sensor warten
12
i2c_write(0x04);//Adresse des Daten-Registers schreiben
13
i2c_rep_start(0x8A+I2C_READ);//Datenregister des Sensors ansprechen
14
ret=i2c_readAck();//Datenregister des Sensors auslesen
15
i2c_stop();
16
17
if(ret!=0){
18
DDRB=0xff;//Wenn Daten empfangen werden LED 1 an, LED an Port B und GND
19
PORTB=0xff;//Pull-Up Widerstände
20
}
21
else{//Wenn keine Daten empfangen werden LED 2 an, LED an Port D und GND
22
DDRD=0xff;
23
PORTD=0xff;//Pull-Up Widerstände
24
}
25
for(;;);
26
}
Compilieren tut AvrStudio ohne Probleme, aber beim Build and Run gibbet
folgendes Problem
../twimaster.c:12:23: error: i2cmaster.h: No such file or directory
Grüße,
M.
M. T. schrieb:> Compilieren tut AvrStudio ohne Probleme,
:-)
Dann gäbs keine Probleme.
> aber beim Build and Run gibbet> folgendes Problem>> ../twimaster.c:12:23: error: i2cmaster.h: No such file or directory
Na dann wirds eben die Datei
#include <C:\Users\thedja\Documents\i2cmaster.h> //Anpassen!
tatsächlich nicht geben.
Applaus für Karl Heinz, der wirklich jedem hilft, egal wie
offensichtlich der Fehler ist.
Was ist dein Geheimnis, irgendein Tee, Meditation oder sowas?
Wo kommt nur diese Ruhe her?
PS: An den OP, versuchs mal mit Anführungszeichen beim include.
Tim T. schrieb:> PS: An den OP, versuchs mal mit Anführungszeichen beim include.
Da er den Pfad komplett und direkt angibt, sollte das keine Rolle
spielen.
M. T. schrieb:> Nope, auch mit Anführungszeichen läufts nich, den Fehler korrigiert der> Compiler wohl eh selbst.
Mach doch mal Notepad auf.
Dann Datei öffnen und als Dateinamen gibst du den Pfad genau so ein, wie
du ihn auch im Include hast.
(Ganz abgesehen davon finde ich gehören solche Dinge sowieso nicht in
das User Verzeichnis, da macht man sich auf C oder sonst einer Platte
ein Verzeichnis, unter dem man seine Codestückelchen aufbewahrt,
eventuell sogar in Subverzeichnissen nach Themenkreisen geordnet. Aber
diese User Verzeichnisse sind mir ein Dorn im Auge. Genauso wie die
Leute, die alles am Dekstop ablegen und nach 2 Monaten nicht mehr
wissen, wo sie was hingeschoben haben. Hauptsache der Desktop ist
zugemüllt.)
M. T. schrieb:> Ich meine twimaster.h benötigt selber i2cmaster.c, daher musste der Pfad> von i2cmaster.c in twimaster.h angepasst werden.
Das klingt danach .... als ob der Code an sich grottig schlecht
aufgebaut ist.
C-Files werden nicht inkludiert.
hp-freund schrieb:> Ich ziehe es auch vor sämtliche zum Projekt gehörende Dateien in den> Objektordner zu legen. Erspart auch später Probleme...
Jein, ich benutze z.B. häufig selbstgebastelte Bibliotheken (Uart,
Timer, Speicher, Aktoren, etc.) die ich in ein eigenes Verzeichnis in
den Standard-Include-Pfad des Compilers verlinkt habe, da diese immer
mal wieder überarbeitet werden. Wenn man dann erst in allen
Projektverzeichnissen die entsprechenden Dateien tauschen muss wirds
mühsam und irgendwo vergisst man immer was.