TWI am AT90CAN128

Gast #210261
Lesenswert?
• ▲
▼
Hallo,

hat jemand von euch schon mit dem TWI des o.g. MC gearbeitet? Ich
versuche krampfhaft einen DS1307 anzusteuern, der verweigert jedoch
bereits nach dem Senden der Adresse das ACK (Code 0x48).
Ich verwende die I²C-Lib. von P. Fleury. Die Ansteuerung sieht so aus:

if (i2c_start(0b11010001))
{
  printf ("Error after Start and Address!");
}
else
{
  i2c_readAck ();
  i2c_readNak ();
  printf ("Reception OK");
}
i2c_stop ();

Habe schon aus Verzweiflung mal einen von der Pinbelegung her gleichen
DS1678 dran gehangen -> das selbe Problem. Es hängt eine 3,6V Batterie
am entsprechenden Pin, verwendet werden 3,9K Pull-Ups. Die Pins des AVR
lassen sich ansteuern (durch toggeln getestet), eine Oszi um mir die
I²C-Daten anzuschauen habe ich nicht zur Hand.

Alex
Gast #210262
Lesenswert?
• ▲
▼
Achso, die Baudrate spielt keine Rolle. Habe sowohl 100kHz als auch
10kHz und 1kHz getestet, die Symptome bleiben gleich.

Die Verbindungen sind ok und keine 4cm lang.

Bringt einen schon zur Verzweiflung, mit dem ATMega8 habe ich schon zig
Bausteine so angesteuert.

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.