- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 7 von 7

Thema: Hilfe PCF8591 C code probleme

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    01.10.2013
    Beiträge
    6

    Hilfe PCF8591 C code probleme

    Anzeige

    Powerstation Test
    Hi ich bekomme immer 0x80 zurückgeschickt.

    weiss nicht mehr weiter hier mein code.

    Code:
    unsigned char read_pcf8591(unsigned char adc)
    {
    	unsigned char ret;
    	unsigned char byte = 0;
    
    	ret = i2c_start(pcf8591_address+I2C_WRITE);  // Sende Start Condition
    	if(ret!=0)
    	{
    		i2c_stop();
    		uart_puts("Io1f");
    		return 0;
    	}
    	
    	ret = i2c_write(0);                // Senden des Control Bytes startet die A/D Wandlung
    	i2c_stop();                            // Sende Stop Condition, Bus freigeben*/
    	delay_ms(1);                             // Warten bis A/D Wandlung benedet (mind. 90µs)
    	
    	ret = i2c_start(pcf8591_address+I2C_READ);  // Sende Start Condition
    
    	// Mehrmaliges Lesen um alte A/D Werte zu ignorieren
    	byte = i2c_readAck();      // Lese Byte + no acknowledge*/
    	byte = 	i2c_readNak();      // Lese Byte + no acknowledge*/
    	
    	i2c_stop();                           // Sende Stop Condition, Bus freigeben
    	return byte;
    }
    Danke

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.04.2010
    Ort
    Im Städtedreieck Köln-Bonn-Aachen
    Alter
    36
    Beiträge
    106
    0x80 ist ein Statuscode, wenn der Controller als Slave arbeitet.

    Bin mir gerade nicht ganz sicher, ober ein Slave ein Slave abfragen kann, da der pcf8591 ja auch als Slave am TWI angeschlossen wird.

    Was für eine Bibliothek verwendes du?

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    01.10.2013
    Beiträge
    6
    Ich benutze die von Peter Fluery. Aber ich kann doch auch andere Geraete one Probleme abfragen??? Wieso soll das hier anders sein?

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    01.10.2013
    Beiträge
    6
    Ich fergas noch was zu sagen das ansprechen funktioniert, wenn ich den ic weg nehme bekomme ich eine fehler meldung siehe

    if(ret!=0)
    {
    i2c_stop();
    uart_puts("Io1f");
    return 0;
    }

    Somit kann es ja nicht slave slave sein, und die variable adc ist auf 0 gesetzt um den ersten adc auszulesen Hilfe bitte Danke...

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    01.10.2013
    Beiträge
    6
    Hat wirklich keiner ne Idee ?

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Fragen:
    1. I2C-Adresse richtig? Adresspins richtig beschaltet?
    2. Wirklich Stop-Bedingung nach Schreiben der Adresse? (Ich würde auch Rep-Start probieren)
    3. Richtiger ADC beschaltet? Wie?
    Gruß
    Dirk

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    01.10.2013
    Beiträge
    6
    Ich werde Rep-Start mal testen.

Ähnliche Themen

  1. Asuro - Linieverfolgung. Code-Probleme !
    Von slycap im Forum Asuro
    Antworten: 1
    Letzter Beitrag: 01.12.2011, 12:46
  2. H-Brücken Code Hilfe
    Von Bammel im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 0
    Letzter Beitrag: 27.08.2008, 19:16
  3. Hilfe beim Code
    Von Dj_Beat im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 15.04.2008, 09:36
  4. Probleme in code für Servo...?
    Von loppan im Forum C - Programmierung (GCC u.a.)
    Antworten: 0
    Letzter Beitrag: 02.07.2007, 20:36
  5. Probleme: > Process Exit Code: 255
    Von SimonB im Forum Asuro
    Antworten: 3
    Letzter Beitrag: 20.05.2007, 19:58

Berechtigungen

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

LiFePO4 Speicher Test