-
        

Ergebnis 1 bis 2 von 2

Thema: PCF8591

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    14.01.2005
    Beiträge
    30

    PCF8591

    Anzeige

    Hallo

    Ich habe hier von der Schule ein Testboard mit einem A/D Wandler PCF8591.
    Schaffe es ihn aber nichtmal zu initalisieren. Bekomme immer -256 ausgelesen.

    Code:
    /***********ADU INIT****************/
    
    void adu_init(void)
    {
    	unsigned char adress =0x9E; 	// Address Pins A0=1 A1=1 A2=1
    	unsigned char command=0x00;     // Command Byte // Einstellungen 
    	
    	i2c_start();					// I2C StartSequenz
    	delay_5us();					// Kurze Wartezeit
    	i2c_write(adress);				// Baustein Addresierung
    	delay_5us();					// Kurze Wartezeit
    	delay_5us();
    	i2c_write(command);				// Initialisierung D/A Aktiv A/D Channel 0 !´
    	i2c_write(0);					// Acknowledge
    	delay_5us();
    }
    Ich denke irgendwas bei der Adressierung oder Timing..:/
    Das hier ist rein die Init Routine.
    gelesen wird dann einfach direkt nach diesem Aufruf mit i2c_read() einer Funktion von mir.
    Die I²C Routinen sind eigentlich auch mittels EEPROM getestet und sollten funktionieren.
    Finde den Fehler einfach nicht.

    Edit

    hier so lese ich
    Code:
    /*************RÜCKGABE**************/
    unsigned char adu_read()		
    {
    	i2c_write(0x9F);
    	adu_byte=i2c_read();
    	i2c_write(0);		
    	return adu_byte;				// Rückgabe von gelesen Wert
    }

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    14.01.2005
    Beiträge
    30
    ok Problem gefunden
    das Protokoll erfordert eigene Start Stop Bediungen für jedes Commando Byte

Berechtigungen

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