- Modernes Energiemessgeraet    Werbung      
Ergebnis 1 bis 10 von 14

Thema: I²C: SCL invertiert

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    30.04.2012
    Beiträge
    9
    Trotzdem vielen Dank! Hier jetzt mal die wesentlichen code Zeilen, die ich für I2C geschrieben habe.

    __CONFIG(FOSC_INTOSC & WDTE_OFF);
    __CONFIG(LVP_OFF & BORV_25 & STVREN_ON & PLLEN_ON);

    void main(void)
    {
    OSCCON = 0b01101000; //bit7: PLL, bit6-3: 4 MHz internal Clock
    OSCSTAT |= 0b00100000; //Start-up Timer on

    I2C_Init();

    While(1)
    SSP1BUF = 0b00000000;
    }



    void I2C_Init(void)
    {
    TRISA |= 0b00000110; //SDA and SCL as Input

    //SSP1STAT
    SSP1STATbits.SMP = 1; //slew rate controll off
    SSP1STATbits.CKE = 1; //SMBus disabled

    //SSP1CON1
    SSP1CON1 = 0x00;
    SSP1CON1bits.SSPEN = 1; //initiate SDA and SCL as serial port pins
    SSP1CON1 |= 0b00001000; //Master mode
    SSP1CON1bits.CKP = 0; //Initiate start condition on SDA and SCL

    //SSP1CON2
    SSP1CON2bits.GCEN = 0; //Interrupt when general call adr. (0x00) is received in the SSP1SR
    SSP1CON2bits.RCEN = 1; //Receive mode enabled
    SSP1CON2bits.PEN = 1; //Initiate stop condition enabled. Automatically cleared by hardware
    SSP1CON2bits.RSEN = 1; //Repeated start condition

    //SSP1CON3
    SSP1CON3bits.SBCDE = 1; //Collison Interrupt enabled. See BCL1IF bit in PIR2

    SSPADD = 0x09; //FOSC: 4 MHz, Fcy: 1MHz, Fclock
    SSP1CON2bits.SEN = 1; //Initiate start condition on SDA and SCL
    }

  2. #2
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    74
    Beiträge
    11.077
    Im Datenblatt (DB) habe ich auf die schnelle nur das gefunden, was ich in Anhang kopieren versucht habe.

    "Cäh" kenne ich gar nicht. Bild  
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken PIC.bmp  
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    30.04.2012
    Beiträge
    9
    Da geht es doch um das Read/Write bit. Das ist das letzte Bit in der Adresse, die über SDA gesendet wird und sagt dem Slave, ob er im weiteren Verlauf empfangen oder senden soll. Auf die SCL Leitung sollte das aber keinen Einfluss haben, wenn ich es richtig verstanden habe...

  4. #4
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    74
    Beiträge
    11.077
    Sorry, möglicherweise ist das nicht die richtige Erklärung, aber ich bin kein I²C Experte und blicke es nicht so schnell durch. Bild  
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    30.04.2012
    Beiträge
    9
    Bei mir hat es auch TAGE gedauert, bis ich mal eine Vorstellung hatte, wie ich das genau angehen muss. Bild  
    Ob meine Register richtig beschrieben sind weiß ich aber immer noch nicht, einige Bits sind mir noch nicht so 100%ig klar...

  6. #6
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    74
    Beiträge
    11.077
    Ich kann mich noch erinnern, dass ich beim Gehenlernen mit kleinen Versuchsschritten angefangen habe und danach bisher alles nur versucht habe.

    Da ich dir angeblich nicht helfen kann, bleibt mir nur dir vieeel Erfolg wünschen übrig. Bild  
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  7. #7
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    38
    Beiträge
    5.098
    Das R/W Bit wird über die SDA Leitung gesendet und ist dafür da das der Slave weiß ob er nur Daten empfängt oder ob er Daten zurückschicken muss. So wie du es geschrieben hast ist es also richtig.

    MfG Hannes

Ähnliche Themen

  1. cny70 beschaltung invertiert
    Von . . . . . im Forum Sensoren / Sensorik
    Antworten: 4
    Letzter Beitrag: 14.04.2009, 17:34
  2. Funkmodul - Daten kommen invertiert - wie "richtigdrehe
    Von m@rkus33 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 22.02.2006, 17:48
  3. stk500 ausgänge invertiert?
    Von wanni im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 05.04.2005, 14:08
  4. AVR: Ausgaenge invertiert?, Timer?
    Von Minifriese im Forum AVR Hardwarethemen
    Antworten: 4
    Letzter Beitrag: 02.02.2005, 21:34
  5. möglich: pin1 invertiert pin2?
    Von harryup im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 11.11.2004, 10:33

Berechtigungen

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

    Werbung      LiFePO4 Speicher Test