-         
Ergebnis 1 bis 4 von 4

Thema: TWI Spannungsabfall

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    14.04.2006
    Ort
    Barsinghausen
    Alter
    29
    Beiträge
    23

    TWI Spannungsabfall

    Anzeige

    Hi,
    ich hab ein Problem mit meinem TWI. Und zwar fällt die Spannung auf SCL von ~5V auf ~65mV ab wenn ich was sende. Und die Spannung bleibt da dann auch. Ich benutze einen Mega32 @ 16Mhz.
    Ich hoffe ihr könnt mit helfen.

    MfG
    Nico

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    04.09.2004
    Ort
    Bürstadt
    Alter
    30
    Beiträge
    383
    hmm hast du das mit nem Multimeter gemessen? Immerhin "fliegen" die Pegel mit ein paar kHz über die Leitung und da kommt ein Multimeter nicht mit und spuckt falsche ergebnisse aus..

    Ringo
    Nobody is Perfect
    Visit www.ringo.roboterbastler.de last update: 23.05.2009

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    14.04.2006
    Ort
    Barsinghausen
    Alter
    29
    Beiträge
    23
    Joa. Mit nem Multimeter. Nen Scope hab ich gerad nicht zur Hand. Erst wieder in 2 Wochen inner Firma. Ich dachte vllt. das es daran liegt. Aber dann hat mein DS1621 wohl wirklich einen mitbekommen. Weiss zufällig jemand wie ich das testen kann? Ohne irgendwelchen Code zu tippern. Weil da können sich ja auch Fehler einscheichen.....Aber ich wollte gerne auf nurmal sicher gehn ob mein DS1621 überhaupt noch geht....


    Danke & Gruß
    Nico

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    14.04.2006
    Ort
    Barsinghausen
    Alter
    29
    Beiträge
    23
    Hi,
    also mein DS 1621 geht. Aber irgendwie kommt da immer nur ein un die selbe HEX raus. Ich hab folgenden Code:
    Code:
    i2c_init();
    	rprintf("I2C INIT: DONE\r\n");
    	if(i2c_start(DS1621+I2C_WRITE)) { rprintf("DETECTING DEVICE ON 0x90: FAILED\r\n"); }
    	else { 
    		rprintf("DETECTING DS1621 ON 0x90: DONE\r\n");
    		i2c_write(0xEE);
    		i2c_write(0xAA);
    		i2c_stop();
    		if(i2c_rep_start(DS1621+I2C_READ)) { rprintf("READ ERROR"); }
    		else {
    			rprintf("READING 0xAA\r\n");
    			temp1 = i2c_readAck();
    			temp2 = i2c_readAck();
    			i2c_write(0x22);
    			i2c_stop();
    			rprintfu08(temp1);
    			rprintf("\r\n");
    			rprintfu08(temp2);
    			rprintf("\r\n");
    			rprintf("READING DONE\r\n");
    			rprintf("CONVERTING\r\n");
    			temp3 = temp1*0x0A;
    			if(temp2 > 0x80) { temp3 +=0x05; }
    			rprintfu32(temp3);
    			rprintf("\r\n");
    		}
    	}
    Erst wenn ich nen RESET mache, kommt da ne andere HEX raus.


    MfG
    Nico

Berechtigungen

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