www.mikrocontroller.net

Forum: Projekte & Code Librarie für das TWI des atmega8


Autor: jochen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen,

ich hab mir heute im laufe des Tages einen C-Library zum benutzen des
Hardware TWI des atmega8 zusammengebastelt.
TWI steht für Two Wire Interface und ist die Atmel Bezeichnung für I²C.

Es werden Funktionen zum starten, stoppen, re-starten, schreiben, lesen
mit ACK und lesen ohne ACK zur Verfügung gestellt.

Bei Interesse kann das File von http://www.rurlaender.net/ unter AVR
Libraries heruntergeladen werden.

Irgendwann demnächst, wenn ich mal wieder Zeit habe, wird es da auch
noch Libraries für die Ansteuerung eines LCDs im 4-Bit Modus und zum
ansteuern des UART geben.

Schönen Sonntag noch, der Jochen

Autor: Dominic Thomé (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jochen,

schön daß Du Dich so engagierst, aber warum erfindest Du das Rad neu.
Das alles gibt es doch schon von Peter.

Gruß
DD

Autor: jochen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weil ich kapieren will wie es funktioniert! Wenn ich einfach was
fertiges nehme dann tut es zwar, meine Motivation zu verstehen was es
tut ist dagegen doch eher gering.
Wenn ich selber versuche das ganze zum laufen zu bekommen ist die
Motivation deutlich höher. Auch der Lerneffekt ist deutlich besser wie
wenn ich mir eine fertige Komponente ansehe.

Dachte mir halt wenn es jemand brauch kann er sich das runterladen,
wenn nicht dann ist es auch okay.

Schönen Tag noch, der Jochen

Autor: Noname (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich finde es gut, zumal die Hardwareseitige TWI Implementierung
noch sehr selten ist. Und von diesem Peter hab ich auch noch nichts
gehört.

Ich hab mir die Library runtergeladen. Mein C ist zwar sehr schlecht
aber ich versuche es dennoch zu verstehen.

@Jochen
Wäre es möglich das ganze auch in Assembler zu machen ?

Autor: jochen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Noname,

möglich ist das auf jeden Fall. Da ich im Moment aber alles in C mache
hab ich mich um Assembler nicht gekümmert.
Wenn man aber einigermaßen verstanden hat wie I2C funktioniert und das
Datenblatt vom atmega8 zu Hand nimmt sollte es kein Problem sein das in
Assembler zu implementieren.
Wenn Du das machen willst und Fragen hast kannst Du mich ja gerne
anmailen. Bin dann gerne Dir bereit im Rahmen meiner bescheidenen
Assembler Kenntnisse weiter zu helfen.

In diesem Sinn einen Schönen Tag noch, der Jochen

P.S. Wenn Du Problem mit dem C-Code hast kannst Du mir natürlich auch
mailen, dann kann ich versuchen es Dir zu erklären.

Autor: Noname (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für das Angebot. Werde darauf sicher noch einmal
zurückgreifen. Ansonsten ebenfalls noch einen schönen Tag :)

MfG
Noname (...weil man sich hier nicht registrieren kann)

Autor: Peter Fleury (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im WinAVR Package gibt es ein gut dokumentiertes Hardware-TWI Beispiel.

@Noname
Registrieren muss man hier nicht, einfach Feld Name* ausfüllen.

Autor: jochen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Peter,

Das Beispiel aus der WinAVR Package kenne ich, dort wird aber "nur"
beschrieben wie man ein EEPROM lesen/schreiben kann. Wenn ich jetzt
etwas anderes wie z.B. ein Temp-Fühler (DS1631) ansprechen will muss
ich den Code umschreiben. Deshalb hab ich die Library gemacht in der
halt alle Funktionen allgemein vorhanden sind und für jedes Problem /
Baustein verwendet werden können.

Schönen Tag noch, der Jochen

Autor: Florian Hrubesch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Jochen,
ich will deinen "Erfolg" ja nicht schmälern aber ich finde es ganz
schön hart das Codebeispiel aus dem Atmega8 Datasheet praktisch
abzuschreiben. Du hast dir ja noch nicht mal die Mühe gemacht das ganze
mit Interrupts zu Programmieren.
cu Flo

Autor: jochen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tach Flo,

es war ja auch hier nie die Rede davon das ich was erfunden habe oder
so. Ich hab einfach aus den Beispielen des Datenblatts eine Library
zusammengbastelt mit der man die Funktionen des TWI einfach nutzen
kann.
Da ich kein Geld und kein garnichts dafür will weiß ich nicht was Dein
Problem ist. Es ist ja jedem selbst überlassen ob er die Library
benutzt oder nicht.

Gruß, der Jochen

Autor: Tobias Breckle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
weiss auch nicht was ihr für ein problem habt.
ich hab genau sowas gesucht, da ich mit dem datenblatt große probleme
hatte.
auf jedenfall funktioniert die library astrein mit meinem DS1621.
danke @ jochen!

Autor: Jochen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist doch mal schön zu hören.

Grüße, der Jochen

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
UART lib für at90s und die meisten megas hab ich übrigens komplett mit
ints... falls einer braucht einfach mailto:wilhe_jo@bulme.at

ich habs mit den meisten 90s typen mega 16,32 und 128 am laufen (128
mit beiden uarts) immer die gleichen funktionsnamen halbwegs
dokumentiert...

ich muss mir das aber nochmal anschaun da man da sicher was
vereinfachen kann ... ich schalte jetzt nur über den präprozessor die
einzelnen funktionen hin und her und das sollte doch eigentlich auch
einfacher zu lösen sein... vor allem übersichtlicher wärs dann...

TWI lib mit ints könnte ich mal schreiben...aber nicht vor februar.. zu
viel arbeit bis dahin...

73 de oe6jwf

Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schade toter Link!

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.