SMBus Problem

Gast #3233609
Lesenswert?

Hi,

kennt sich einer mit dem Lesevorgang über den SMBus aus?

Im Anhang habe ich mal das Diagramm für den Block Read eingefügt und ein 
Beispiel von dem Slave-Device BQ3060.

Kann es aber nicht auf das Beispiel abstrahieren.


Bitte um einen Ansatz.
Angehängte Dateien:
Gast #3233765
Lesenswert?

Hmm hat keiner ne Idee?

Hier ist die Fuktion wie ich die Daten auslese...Ist der Ansatz so 
richtig ich bekomme Daten vom Slave (mit dem Scope gemessen) aber nicht 
das was ich erwarte.


void ReadBalancer (void)

{
  //unsigned int WertHighByteb,WertLowByteb,WertGesamtb ;

  smb_start_wait(AdresseSlave_1+SMB_WRITE);
  smb_write(0x77);
  smb_write(0x40);
  smb_write(0x00);
  smb_stop();

  _delay_us(100);

  smb_start_wait(AdresseSlave_1+SMB_WRITE);
  smb_write (0x78);
  smb_rep_start(AdresseSlave_1+SMB_READ);
  smb_readAck();                             //Anzahl der Bytes vom 
Slave

  smb_readAck();
  smb_readAck();
  smb_readAck();
  smb_readAck();
  smb_readAck();
  smb_readAck();
  smb_readAck();
  smb_readAck();
  smb_readAck();
  smb_readNak();
  smb_stop();



}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren