Hallo zusammen, ich such jetzt schon einige Zeit infos zum I2C Bus zusammen und hab solangsam glaube ich auch verstanden wie's theoretisch funktioniert. Jetzt würd ich mir aber doch gerne mal ein Beispiel in Assembler anschauen, finde zig beispiele in Bascom und C aber in assembler werd ich einfach nicht fündig. Konkret will ich einen LM75 auslesen. Am besten wäre natürlich ein beispiel für nen AVR, aber andere tuns auch ;-). Mich würde mal interesieren wie das mit Warteschleifen aussieht usw usw. Viell. habt ihr ja einen guten Link für mich. Thx schonmal Toni
Hallo Toni, für einen ATmega8 z.B. findest Du alles sehr genau beschrieben im Manual ab Seite 159, den ersten Assemblercode dazu findest Du auf Seite 173. Er funktioniert! Das Manual kannst Dir bei Atmel sorglos und bequem runterladen. Nur so ein Tip: Wenn ich was entwickeln will und den Baustein nicht genau kenne oder dieser in der Funktion sehr aufwendig ist, ist meine erste Arbeit die Beschreibung dazu aus dem Net zu holen und auszudrucken. Erleichert danach die Arbeit mit den Bausteinen ungemein einfacher. Gruss Gerd
thx :) hat mcih schonmal weitergebracht g ... werd dann mal besteleln und dann sicherlicht wieder mit vielen Fragen zurückkommen ;-). Toni
Noch eine Frage, weiß einfach nicht wie man das am schlausten anstellt. Wenn ich den sensor ausgelesen hab bekomm ich den Tempraturwert als ein byte zurück (vorausgesetzt ich lass die nachkommastelle weg) ... Wenn ich das jetzt aber auf einem LCD display anzeigen lassen will muss ich dieses byte ja zerhacken in die einzelnen stellen der zahl und diese dann als ascii byte an das lcd senden. Wie stellt man das jetzt am schlausten an? Kann mir da noch nichts drunter vorstellen :( toni
Hast du dir die Beispiele im LM75-Datenblatt angeguckt? Es handelt sich um signierte Zahlen, also positive und negative Zahlen. Wenn du das oberste Bit (Vorzeichen) bei den positiven Zahlen weglässt, und die Zahl mit 0,5°C multiplizierst, kommst du auf die Temperatur. Wenn du also das letzte Bit auch weglässt, hast du die Termperatur in °C. Die negativen Zahlen stehen dort als Zweierkomplement... http://de.wikipedia.org/wiki/Zweierkomplement Wie man die Umwandlung und damit die Anzeige in ASM realsiert, findest du vermutlich irgendwo im Forum...
Hallo Toni, zu Deinem Text und Frage: Du gehst wieder auf die Internetseite von ATMEL, dort gibt es 'ne Rublik mit APPLICATION NOTE für AVR's. Hier suchst Du Dir die APPNOTE AVR204 aus und schon kannst Dein Problem mit den ASCII-Zeichen problemlos lösen. Du kannst aber auch meine fertige LCD-Routine mit I2C-Ansteuerung, ASCII-Wandlung, Ausgabe aus ROM oder RAM, 1. oder 2. Zeile, bestimmte Position in der Zeile usw. nehmen. Hast aber nicht, also selber machen....so wie ich. Nur so wirst Du 1. im Net was suchen lernen 2. auch mal was selber lernen zu programmieren 3. Dann weisst auch genau, was jedes Byte in dem Teilprogramm macht und Änderungen fallen Dir wesentlich leichter, da Du den Hintergrund kennst, warum es so und nicht anders ist. Schönes WE Gerd Hier Dein Text: Noch eine Frage, weiß einfach nicht wie man das am schlausten anstellt. Wenn ich den sensor ausgelesen hab bekomm ich den Tempraturwert als ein byte zurück (vorausgesetzt ich lass die nachkommastelle weg) ... Wenn ich das jetzt aber auf einem LCD display anzeigen lassen will muss ich dieses byte ja zerhacken in die einzelnen stellen der zahl und diese dann als ascii byte an das lcd senden. Wie stellt man das jetzt am schlausten an? Kann mir da noch nichts drunter vorstellen :(
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.