Archiv verlassen und diese Seite im Standarddesign anzeigen : Bascom8051-i2c
Seitdem ich die neue Variante 2.0.16 habe, funktioniert I2C nicht mehr. Ich habe ein Eigenbau-board mit I2C-ICs (PCF8574 und 24C04), das nun schon lange Dienst tut. Bisher gab es keine Probleme. Jetzt funktionieren selbst die Beispielprogramme nicht. Habe ich eine Änderung verschlafen?
dolivo
Hall odolivo,
kann eigentlich nicht sein.
Habe ähnliche Hardware, da ich grundsätzlich alles selber baue.
Lege auch immer wert darauf die neuste Version zu haben momentan 2.0.7.7
Nach meinem Kenntnisstand wird die Demo-Version auch aktualisiert.
Habe soeben die Version 2.0.16 auf ein 2. PC installiert und mein veröffentlichtes Programm Bascom BASCOM AVR Software für Bussystem mit Atmel AVR Controller (https://www.roboternetz.de/community/forums/threads/64472-BASCOM-AVR-Software-für-Bussystem-mit-Atmel-AVR-Controller) auf mein Eigenbau-board geladen.
Alles OK.
Nun stellt sich die Frage was genau funktioniert nicht.
Mit freundlichen Grüßen
fredred
Hallo, fredred,
es geht nicht um AVR, sondern um AT89C4051. Ich werde morgen mal versuchen zu messen. Mit meinem alten Oszi ist das etwas umständlich. Mein Eindruck ist, dass zwar ausgelesen wird, aber nicht geschrieben.
Wie gesagt: Bisher hat alles funktioniert und jetzt geht nach dem update dasselbe Programm mit unveränderter Schaltung nicht mehr.
dolivo
Hallo dolivo,
diesen IC habe ich nicht, somit konnte ich diesen nicht testen(ist ja auch schon ein wenig antik)
werden ja auch parallel programmiert, ich nutze ISP
Test mit Atmega8/16/32/644 und 128 wie geschrieben kein Problem. Nutze bei diesen den Hardware I2C-Bus.
Somit kann ich leider nicht weiter helfen.
Mit freundlichen Grüßen
fredred
Hallo,
ich habe gerade mein Board an einen ATmega8 angeschlossen und damit funktioniert es. Also kann es nur an dem update liegen.
Mit dem Oszi konnte ich auch keine Impulse erkennen. Mal sehen, was MCS dazu sagt. Aber vielleicht hat noch jemand die Erfahrung gemacht. Ich suche den Fehler ja zuerst bei mir.
dolivo
Hallo dolivo,
freut mich und teile deine Vermutung, dass im neuem Update der Fehler liegt, aber MCS kann auch nicht alle „alte“ Controller auf Funktion testen. Aus diesem Grund speichere ich mich auch alle Update.
Kleines Beispiel:
Habe für meine Haussteuerung mit Langzeit Datenlogger(SD-4G-Karte) den Atmega 644 durch ein 128p ersetzt
(großes Grafikdisplay mit Touch kam dazu) IR-Fernbedienung funktionierte nun nicht mehr.
MCS hat vor längerer Zeit auch den Atmega128p in BASCOM integriert. Hat aber nicht beachtet das der Hersteller die Timeregister auf plus 1 gesetzt hat. Somit gibt es Time0 nicht.
Schnelle Hilfe von MCS [Config Time0 = Time1] im Programm einfügen.
Alles bestens. Ich währe nie und nimmer darauf gekommen.
Mit freundlichen Grüßen
fredred
Hallo,
nun habe ich den Fehler gefunden: Die Pins 3.7 von zwei AT89C4051 waren kaputt. Darauf lag aber SDA. Nur, wer vermutet den selben Fehler an zwei MCs?
dolivo
Hallo dolivo,
so was ist mich glücklicherweise noch nie passiert. Nun würde mich aber interessieren wie hast du das festgestellt.
Wurde SCL getaktet und SDA mit Start nicht auf 0 gezogen oder wie?
Hatte vor langer Zeit auch mal ähnliches Problem, war eine kalte Lötstelle an einem Widerstand für Leitung SCL oder SDA.
Widerstände sind ja zwingend nötig.
Mit freundlichen Grüßen
fredred
Hallo,
mit dem Oszi war nur zu sehen, dass sowohl SDA als auch SCL high blieben. Ich habe ein kleines Timer-Programm geschrieben und die Ausgänge getaktet. Zur Kontrolle wurde das selbe Signal auf zwei andere Pins gegeben. Und dann passierte eben nichts am Pin 3.7.
dolivo
Hallo dolivo,
danke für Antwort.
Somit kannst du Pin 3.7 auch nicht mehr als digital nutzen. Ist wirklich blöd, na ja es gibt schlimmeres. Wichtig ist du hast Ursache gefunden und kommst mit deinem Projekt weiter.
Mit freundlichen Grüßen
fredred
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.