-
        

Ergebnis 1 bis 3 von 3

Thema: I2C Verbindung mit dem PIC

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    01.12.2006
    Beiträge
    25

    I2C Verbindung mit dem PIC

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo

    Ich möchte das interne I2C-Modul des PIC18F252 nutzen.
    Ich habe alles über den I2C-Bus im RN-Wissen nachgelesen.
    Nun möchte ich das ganze aber in C (ich nutze MCC18 von Microchip) realisieren.
    Ich habe mich im Datenblatt ein wenig eingelesen und auch die Infos aus MCC18 (MCC18\src\traditional\pmc\i2c) genutzt.
    Ich weiss aber dennoch nicht wie ich anfangen soll.
    Wie nutze ich die MCC18-Libraries im oben genannnten Ordner?
    Was muss ich dazu includen und wie weiss ich welche von den vielen *.c Dateien ich aufrufen muss?

    mfg Adonai

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    01.12.2006
    Beiträge
    25
    Gibt es keine einfachen Beispielcodes?

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    01.12.2006
    Beiträge
    25
    Mit ein bisschen Hilfe aus einem anderen I2C-Programm habe ich diesen Code zusammengewürfelt. Leider funktioniert er nicht.

    Code:
    #include <p18cxxx.h>
    #include <i2c.h>
    #include <stdio.h>
    #include <delays.h>
    
    unsigned char Matrix1;
    unsigned char Matrix2;
    
    void main (void)
    {
    // I2C Initialisation
    OpenI2C (SSPENB | MASTER,SLEW_OFF);
    SSPADD=9;
    TRISC=0xFF;
    Matrix1=0b10101010;
    Matrix2=0b00110011;
    
    	while(1)
    	{
    	OpenI2C (SSPENB | MASTER,SLEW_OFF);
    	StartI2C();
    	WriteI2C(0x70);
    	
    	WriteI2C(Matrix1);
    	StopI2C();
    	
    	OpenI2C (SSPENB | MASTER,SLEW_OFF);
    	
    	StartI2C();
    	WriteI2C(0x76);
    	
    	WriteI2C(Matrix2);
    	StopI2C();
    	
    	Delay1KTCYx(100);
    	}
    }

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •