mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Building Problem


Autor: M. T. (cube7)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?
#include <stdint.h>
#include <C:\Users\thedja\Documents\i2cmaster.h>    //Anpassen!
#include <avr/io.h>

#define ISL29010 0x8A //Addresse des Sensors

int main(void)
{
unsigned char ret;  //Variable fürs Messbyte, vllt. floating Variable besser
i2c_init();                         //Initialisiere I2C
i2c_start_wait(ISL29010+I2C_WRITE); //Mit Polling auf den Sensor warten
i2c_write(0x04);                     //Adresse des Daten-Registers schreiben
i2c_rep_start(0x8A+I2C_READ);        //Datenregister des Sensors ansprechen
ret = i2c_readAck();                      //Datenregister des Sensors auslesen
i2c_stop(); 
         
if(ret != 0){
DDRB  = 0xff;                             //Wenn Daten empfangen werden LED 1 an, LED an Port B und GND
PORTB = 0xff;                              //Pull-Up Widerstände
}
else{                                      //Wenn keine Daten empfangen werden LED 2 an, LED an Port D und GND
DDRD  = 0xff;                             
PORTD = 0xff;                               //Pull-Up Widerstände                            
}
for(;;);
}

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.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: M. T. (cube7)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die gibts aber, ich hab se vor mir -_-.
Versteh ick echt nich....

Autor: Regler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht ein Problem der Zugriffsrechte?

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Regler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kopier die Datei dochmal in das entsprechende Verzeichnis.... Bei 
Windows 7 gibt es einige Fallstricke mit den Verzeichnisnamen....

Autor: hp-freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versuch mal:

#include "C:\Users\thedja\Documents\i2cmaster.h"    //Anpassen!

Autor: Regler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tim T. schrieb:
> versuchs mal mit Anführungszeichen beim include.

Peinlich, peinlich, (Schäm). Wie konnte ich das übersehen....

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tim T. schrieb:

> Was ist dein Geheimnis, irgendein Tee, Meditation oder sowas?
> Wo kommt nur diese Ruhe her?

Ommmmmm

Autor: M. T. (cube7)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nope, auch mit Anführungszeichen läufts nich, den Fehler korrigiert der 
Compiler wohl eh selbst.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.)

Autor: M. T. (cube7)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay, Fehler gefunden, i2cmaster.c musste angepasst werden.

Autor: hp-freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie jetzt???

Autor: M. T. (cube7)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich meine twimaster.h benötigt selber i2cmaster.c, daher musste der Pfad 
von i2cmaster.c in twimaster.h angepasst werden.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: hp-freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich ziehe es auch vor sämtliche zum Projekt gehörende Dateien in den 
Objektordner zu legen. Erspart auch später Probleme...

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.