Hallo zusammen, ich habe mal eine <include> - Datei mit CodeVision geschrieben, mit der man den LM75 Temperatursensor am I2C-Bus auslesen kann und den Wert dann direkt am Display anzeigen lässt. Na ja, ich weiß, da gibts ja sowieso schon genug :o) Man übergibt an eine Funktion die Adresse des gewünschten Chip und die X/Y Position an der die Temperatur auf dem Display erscheinen soll. Z.B. >> lm75_auf_lcd(0,6,1); << Somit erscheint auf der Display-Position (6,1) z.B. < +19,5° > oder < -2,0° > Ich habe es versucht, so weit es ging, das Programm zu testen. Leider habe ich die "bitterkalten" Tage in der letzten Zeit verschlafen :o( g. Also bis auf einige wenige Minusgerade, die die Gefriertruhe her gibt, funktioniert es. Über 100° bin ich heute Abend auch nicht mehr gekommen. Vielleicht hat jemand von euch da eine leichtere Anwendung dies auszuprobieren. Bei mir funktionierte es bis jetzt wie gesagt, nur weiß ich nicht ob ich etwas in der Include- Datei vergessen habe und es nur deshalb ging da ich noch andere Anwendungen in meinem Programm hatte. Ich würde mich für Hinweise oder Verbesserungen sehr freuen. Bis dahin..... Grüße Marcel
hat eigendlich schon mal jemand alle Treiber komplett selber geschrieben? Irgendwie benutzen alle nur Treiber vom Hersteller des Compilers! Wie Uncool!
"hat eigendlich schon mal jemand alle Treiber komplett selber geschrieben?" Ja, ich. Ich benutze meistens die Pins, die mir am besten passen oder eine andere Quarzfrequenz und sowas können die fertige Treiber nicht. Hier mal ein LCD-Beispiel: http://www.mikrocontroller.net/forum/read-4-22246.html#new Und für den Temperatursensor: http://www.mikrocontroller.net/forum/read-4-84831.html#new Ich benutze nicht die I2C-Sensoren, da die größer sind und nicht parallel schaltbar und nicht über 2 Drähte. Peter
Hmmm, ich bin erst neuling was das Programmieren betrifft. So weiß ich nicht so genau was damit gemeint ist dass man immer nur Treiber von anderen Herstellern benuzt. Aber ich bin mir ganz sicher, dass es mich mehr Zeit kossten würde wenn man etwas selber schreiben würde und nicht das nehmen würde was schon da ist. Wieso das Rad neu erfinden?? Und wenn man wirklich zu viel Zeit hat und nicht weiß wohin damit dann kann man das ja gerne machen :o) Naja ich bin, wie gesagt, für verbesserungen total offen!!! Gruß Marcel (",)
Hallo zusammen, ich habe einen kleinen Fehler in meinem Code entdeckt. Es fehlte die <stdlib.h>! Das war's schon. Da ich immer wieder Anfragen bekomme wie ein Programm mit der #include <Lm75_anzeige.h> aussieht, habe ich mal ein Programm für den Mega8 "gepostet" //======================================================= #include <mega8.h> #include <delay.h> #include <Lm75_anzeige.h> // Anschlussinitialisierung des I2C- Buses am PORT C // SDA Pin 4 // SCL Pin 5 #asm .equ __i2c_port=0x15 .equ __sda_bit=4 .equ __scl_bit=5 #endasm #include <i2c.h> // 4x20 Zeilen-Display am PORT D #asm .equ __lcd_port=0x12 #endasm #include <lcd.h> void main(void) { // Initialisierung des I2C- Buses i2c_init(); // Initialisierung des LCD's lcd_init(20); while (1) { delay_ms(500); // Pause von einer halben Sekunde lm75_auf_lcd(0, 4, 1); // Temperatur des LM75-Sensors mit // der Adresse 0 auf die Position // (x=4/y=1) auf dem Display }; } //======================================================= Ich glaube das ist recht einfach zu verstehen!!! Wichtig noch mal!! Die <Lm75_anzeige.h> muss in den richtigen Ordner des Compilers kopiert werden!!! Grüße, Marcel
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.