PIC I2C(Master ) wie acknowled auslösen

OP #2070303
Lesenswert?
• ▲
▼
Hallo

Weiss wer wie ich ein Acknowled beim PIC 18F27J13 machen kann?

Ich versuche einen DS1631 Temp.Sensor auszulesen.
Dass MSB bekomme ich noch danach muss der Master ein ACK machen,dann 
müsste er das 2te Byte lesen und dann ein NACK gefolgt von einem Stop.

Hier der Code:

int Lesen_DS1631(void)
{char TempH=0, TempL=0;
int Temp=0;
SWStartI2C();//
SWWriteI2C(0x90);// Adresse des Sensors ansprechen 0b1001000
SWAckI2C();
SWWriteI2C(0xAA);// letzte convertierung lesen
SWAckI2C();
SWRestartI2C();    //  Repeat Start
SWWriteI2C(0x91); // 0x90 +1 for Read
SWAckI2C();
TempH=SWReadI2C(); // High lesen Dass bekomme ich noch rein
SWAckI2C();
TempL=SWReadI2C(); //Low lesen
SWNotAckI2C();
SWStopI2C();
Temp=TempL;
//Temp=TempH;
return-1;
}
Muss das leider mit SWI2C Funktionen machen..., sonst wäre es einfacher 
oder?

Thx Ramon
Angehängte Dateien:

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.