Hallo,
kann mir irgendjemand helfen?? Habe das halbe Forum auf den Kopf
gestellt und nix zum LM75 mit PIC16F877A gefunden.
Mein Problem, ich möchte nur eine I²C verbindung herstellen. Der Pic
soll nur die Temp ohne "0,5" und ohne "-" auslesen. Ich bekomme aber
noch nichteinmal ne reaktion vom LM75. Ich weiß nicht mehr weiter. Habe
da wohl anscheind irgendetwas nicht verstanden![]()
Mein Compiler CC5X
Danke schonmal im voraus.
Gruß
André
Code:/********************************* Include ********************************************************/ #include <C:\cc5\16F877A.H> #include <C:\cc5\delay20.c> /********************************* Globale Variabeln **********************************************/ /********************************* Funktion *******************************************************/ void main(void) { /////////////////////******************** Var ***********************/////////////////////////////// char h_byte; /////////////////////******************** I/O ***********************/////////////////////////////// TRISB = 0b.0000.0000; TRISC = 0b.1111.1111; /////////////////////***************** Einstellen der Werte ********************/////////////////////////////// PORTB = 0; SSPADD = 12; // für I²C -> bei 20MHz = 385kHz SSPCON = 0b.00001000; // für master-mode SSPEN = 1; anfang: /////////////////////******************** Schleife ******************/////////////////////////////// /* Pointer ausrichten */ SSPIF = 0; SEN = 1; // // // // // // // while(!SSPIF); // Bus übernehmen // SSPIF = 0; // // // // // // // SSPBUF = 0x90; // // // // // // // while(!SSPIF); // LM75 Adresse SSPIF = 0; // // // // // // // SSPBUF = 0; // // // // // // // while(!SSPIF); // Temp addressieren SSPIF = 0; // // // // // // // PEN = 1; // // // // // // // while(!SSPIF); // Bus freigeben SSPIF = 0; // // // // // // // /* Byte des Pointers auslesen */ SEN = 1; // // // // // // // while(!SSPIF); // Bus übernehmen // SSPIF = 0; // // // // // // // SSPBUF = 0x91; // // // // // // // // // // // // // while(!SSPIF); // LM75 Adresse mit Leseanweisung // SSPIF = 0; // // // // // // // // // // // // // RCEN = 1; // // // // // // // // // // // // // while(!SSPIF); // LM75 "starte" lesen // SSPIF = 0; // // // // // // // // // // // // // h_byte = SSPBUF; PEN = 0; // // // // // // // // // // // // // while(!SSPIF); // Bus freigeben // SSPIF = 0; // // // // // // // // // // // // // PORTB = h_byte; Delay1ms(100); goto anfang; } /*************************************************************************************************/







Zitieren

Lesezeichen