Atmega8 zieht SCL permanent auf low

OP #3474927
Lesenswert?
• ▲
▼
Hallo liebe MicKo-Gemeinde,

ich bin langsam am verzweifeln. Ich woll einen QT1070 per I2C ansteuern 
und habe mir die Lib von Peter Fleury zu nutze gemacht. Nach dem flashen 
des Mic zieht mit dieser permanent die SCL leitung auf LOW. Wenn ich den 
MIC erase geht dieser wieder auf high level da ich ein 4k7 Pullup 
verwende und sobald das Prog geflasht ist zieht der mir die Leitung 
wieder auf Low... :( hat jemand eine zündende Idee? Anbei der Code...

Vielen dank schon mal !

VG

Steven
Angehängte Dateien:
Gast #3474943
Lesenswert?
• ▲
▼
Hi

>#define qtouch  0x1B

Ohne das Datenblatt gelesen zu haben: Das ist mit Sicherheit die falsche 
Adresse. Probiere mal 0x36 (0x1b<<1).

Eine Adresse die du mit i2c_start_wait (qtouch+I2C_WRITE); muss immer 
eine gerade Zahl sein.

MfG Spess
Gast #3474965
Lesenswert?
• ▲
▼
spess53 schrieb:
> Ohne das Datenblatt gelesen zu haben: Das ist mit Sicherheit die falsche
> Adresse. Probiere mal 0x36 (0x1b<<1).
>
> Eine Adresse die du mit i2c_start_wait (qtouch+I2C_WRITE); muss immer
> eine gerade Zahl sein.

0x1b ist schon die richtige Adresse. Das erste Byte bei I2C setzt sich 
allerdings aus Adresse und RW-Bit zusammen. Und wenn man Adresse und 
Adressierungsbyte - oder wie auch immer das richtig heißt - nicht 
auseinander hält, passt es halt nicht zusammen.
Gast #3475004
Lesenswert?
• ▲
▼
Hi

>0x1b ist schon die richtige Adresse. Das erste Byte bei I2C setzt sich
>allerdings aus Adresse und RW-Bit zusammen. Und wenn man Adresse und
>Adressierungsbyte - oder wie auch immer das richtig heißt - nicht
>auseinander hält, passt es halt nicht zusammen.

Ist mir schon bekannt. 0x1B sind die oberen 7 Bit der Adresse. Bit0 muss 
zum Schreiben Null und zum Lesen Eins sein. Leider sind die 
Adressabgaben in den Datenblättern nicht einheitlich. Mal ist Bit0 in 
der Adressangabe enthalten  mal nicht. Im letzteren Fall muss die 
Adresse um ein Bit nach links geschoben werden.

MfG Spess
OP #3475055
Lesenswert?
• ▲
▼
Hallo, also

> Ohne das Datenblatt gelesen zu haben: Das ist mit Sicherheit die falsche
> Adresse. Probiere mal 0x36 (0x1b<<1).

is nie ganzn richtig das Datenblatt war eine Zeitlang meine Bettlektüre 
^^.
Aber wenn man es noch nicht gemacht hat....naja ihr kennt das ja mit dem 
kalten Wasser ;).

Habs natürlich gleich mal ausprobiert und siehe da es geht einfach nur 
:D .

Jungs vielen Dank ihr habt mir viel Nerven erspart.

DICKES DANKESCHÖN ;)

VG

Steven

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.