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
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
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
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 ?
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.
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)
Im WinAVR Package gibt es ein gut dokumentiertes Hardware-TWI Beispiel. @Noname Registrieren muss man hier nicht, einfach Feld Name* ausfüllen.
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
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
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
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!
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.