Forum: Mikrocontroller und Digitale Elektronik I2c-einsteiger braucht Hilfe.


von Jack (Gast)


Lesenswert?

Guten Abend,


Ich möchte jetzt meinen µC's das Reden beibringen habe aber einige 
Startschwierigkeiten. In den letzten Tagen habe ich mir diverse 
Beiträge, Lib's und Dokumentationen durchgelesen aber hänge gerade 
wahrscheinlich an einem Denkfehler fest.

In dem Beispiel auf 
"http://rn-wissen.de/wiki/index.php/TWI_Slave_mit_avr-gcc"; ist als 
Beispielprogramm für einen TWI-Slave von 3 dateien die Rede:

twislave.h
twislave.c sowie ein Testprogramm.
Ähnlich wie in der Lib von Manni 
(Beitrag "AVR TWI Master und Slave Funtionen in C")

Allerdings kann ich ja nur eine Datei auf den µC spielen. Nach meinen 
Kenntnissen gehört alles was in der twislave.c ist in die Headerdatei, 
weil das doch nur die Funktionen an sich sind. Diese werden doch dann in 
der Hauptdatei z.b. main.c aufgerufen. Oder sehe ich da was falsch?

Ich stehe gerade auf'm Schlauch und hoffe ihr könnt mich runterschubsen.

MfG. Jack

von Karol B. (johnpatcher)


Lesenswert?

Jack schrieb:
> Allerdings kann ich ja nur eine Datei auf den µC spielen. Nach meinen
> Kenntnissen gehört alles was in der twislave.c ist in die Headerdatei,
> weil das doch nur die Funktionen an sich sind. Diese werden doch dann in
> der Hauptdatei z.b. main.c aufgerufen. Oder sehe ich da was falsch?
>
> Ich stehe gerade auf'm Schlauch und hoffe ihr könnt mich runterschubsen.

Deine Verständnisprobleme haben mit I2C an sich nicht viel zu tun, 
sondern sind viel allgemeinerer Natur. Geflasht wird am Schluss i.d.R. 
tatsächlich nur eine Datei, aus vielen Dateien die Quellen aber bestehen 
hat damit überhaupt gar nichts zu tun.

Man modularisiert den Quellcode, um es übersichtlich und voneinander 
unabhängig zu halten. Das Prinzip wird unter anderem hier [1] und hier 
[2] im Detail vorgestellt.

Mit freundlichen Grüßen,
Karol Babioch

[1]: 
https://www.mikrocontroller.net/articles/FAQ#Header_File_-_wie_geht_das
[2]: 
https://www.mikrocontroller.net/articles/FAQ#Ich_hab_da_mehrere_.2A.c_und_.2A.h_Dateien._Was_mache_ich_damit.3F

von Sven B. (scummos)


Lesenswert?

Bevor du du den Code auf den Controller kopierst, musst du ihn erst 
kompilieren. Das was in der .c-Datei steht, "versteht" der Prozessor 
nicht direkt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.