-         

Ergebnis 1 bis 3 von 3

Thema: I2C Master braucht sehr lange um ein Byte zu schreiben

  1. #1

    I2C Master braucht sehr lange um ein Byte zu schreiben

    Anzeige

    Hallo ich lese hier schon lange im Forum und habe mich nun endlich dazu entschieden auch ein Projekt zu starten.
    Da ich noch ein Anfänger mit Mikrocontrollern bin, will ich eine einfache kleine Wetterstation bauen, die ich später noch erweitern kann.
    Sie soll mir erstmal nur über ein LCD die Luftfeuchtigkeit und die Temperatur ausgeben.
    Ich hab die Schaltung aufgebaud, aber der Sensor funktioniert nicht so wie ich es will.
    Als Sensor verwende ich den HYT 271.
    Das LCD kann ich soweit schon ganz gut ansteuern, aber beim Sensor hapert es.
    Deshalb habe ich ein programm geschrieben, das überprüfen soll, ob das Byte an den Slave gesendet wurde.
    Es läuft bis I2cstart, aber wenn er das Byte senden soll hängt er sich auf.
    Er schrieb erst nach ungefähr einer stunde (Hatte länger nicht drauf geguckt) die Zwei auf den Bildschirm.


    Code:
    $regfile = "m32def.dat"
    $crystal = 1000000
    
    'LCD initialisieren
    
    Config Lcd = 20 * 2
    Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4
    Cursor Off
    Cls
    
    Locate 1 , 1
    Lcd " I2C Ueberpruefung"
    Locate 2 , 1
    Lcd "Programmstatus: "
    Lcd "1"
    
    'I2C starten
    
    I2cinit
    I2cstart
    I2cwbyte &H28                                               'Adresse des Slaves
    I2cstop
    Locate 2 , 17
    Lcd "2"
    
    Do
    Loop
    
    End
    Ich hoffe ihr könnt mir helfen, denn ich hab bei Google und auch hier im Forum nichts gefunden.
    Ich bin für jede Hilfe dankbar.
    PS: Die Leitungen SCL und SDA hab ich über 10kOhm Pullups mit 5V verbunden.
    PPS: Ich weiss, dass "fliegende" Schaltungen nicht gut sind, aber auf der Unterseite ist viel mit Silberdraht verlötet.

    Klicke auf die Grafik für eine größere Ansicht

Name:	Aufbau.jpg
Hits:	8
Größe:	41,2 KB
ID:	20993

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    46
    Beiträge
    765
    Ich finde kein config sda und kein config scl. Für Hardware twi vermisse ich die $lib "i2c_twi.lbx"

    I2CINIT ist nur nötig, wenn die PINs zwischenzeitlich anders verwendet wurden. Diese werden dadurch wieder auf 0 gesetzt (PORT und DDR)

    PS: Bei der Problemsuche ist Soft-TWI wesentlich toleranter. Ich ziehe dieses dem Hardware TWI vor.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  3. #3
    Wie konte ich das nur übersehen?
    Tausend Dank an dich, jetzt kann ich mich endlich weiter in die Materie einarbeiten.

Ähnliche Themen

  1. 2 byte in ein word schreiben
    Von raptor_79 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 20.11.2010, 14:59
  2. Servo braucht zu lange
    Von RAM im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 5
    Letzter Beitrag: 11.11.2007, 18:18
  3. Wie lange braucht PWM zum wechseln des Tastverhältnisses?
    Von stefan_Z im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 0
    Letzter Beitrag: 22.09.2007, 15:11
  4. Wie lange braucht der RN-Control zum Einlesen eines A/D-Pin?
    Von ch4 im Forum Schaltungen und Boards der Projektseite Mikrocontroller-Elektronik.de
    Antworten: 2
    Letzter Beitrag: 19.12.2005, 20:40
  5. speichern auf internen EEprom dauert sehr lange
    Von Olle_Filzlaus im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 17
    Letzter Beitrag: 12.12.2005, 11:31

Berechtigungen

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