Hallo Zusammen, Ich möchte den PIC18F452 als IC-Bus Mater einsetzten.Ich verwende den C18 Comiler von Microchip. Irgendwie initialisiert sich der Bus nicht korrekt. Ich verwende 4,7Kk PullUp Widerstände, und kann mir den Grund nicht erklären. Kann mir jemand weiterhelfen? ich möchte nur den PCF8574 bzw. dem PCF8591 ansteuern. Quellcode: Init_I2C_Master(100); /*********************************************************************** */ #include <P18F452.h> // Include für PIC18F452 #include <i2c.h> // Include für die I²C Schnittstelle /*********************************************************************** */ /*********************************************************************** */ // I²C Schnittstelle initialisieren /*********************************************************************** */ void Init_I2C_Master(unsigned short int Takt) // { TRISCbits.TRISC3 = 1; // SCL-Leitung TRISCbits.TRISC4 = 1; // SDA-Leitung switch (Takt) { case 100: SSPADD = 49; // 100 KHz Takt bei 20 MHz OpenI2C(MASTER, SLEW_OFF); break; /*********************************************************************** */ case 400: SSPADD = 12; // 400 KHz Takt bei 20 MHz OpenI2C(MASTER, SLEW_ON); break; } } /*********************************************************************** */
Gast
#2656216
Brauchst noch das: SSPCON1 = 0b_0000_1000 -- master mode, clock=Fosc/(4*(SSPADD+1)) SSPCON1_SSPEN = high -- MSSP-Modul enable
Gast
#2656217
Und nicht vergessen die I2C pins auf input zu stellen.
Hi Sunny, ich habe den Quellcoe um dem Code: SSPCON1bits.SSPM3 = 1; SSPCON1bits.SSPEN = 1; ergänzt leider ohne Erfolg. Weiß sondt noch jemand etwas?
Gast
#2656624
Jetzt müsste es eigentlich gehen weil bei mir geht's mit diesen einstellungen, und wenn es nich geht, dann muss es an was anderem liegen.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.