- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 35

Thema: I2C klappt nicht mehr nach Umstellung auf bascom 1.11.7.7

  1. #1
    norafh
    Gast

    I2C klappt nicht mehr nach Umstellung auf bascom 1.11.7.7

    Anzeige

    LiFePo4 Akku selber bauen - Video
    nach der Umstellung von basvom 1.11.7.4 auf Version 1.11.7.7 funktionieren Programme mit I2C Routinen nicht mehr. Hat jemand eine Idee warum

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    34
    Beiträge
    1.461
    HI

    Du musst eine Library einbinden Namens: "i2c.lib"
    Das machst du so:
    ...
    $lib "i2c.lib"
    ...

    Dann musst du mit
    config sda = ...
    und
    config scl = ...
    Die Ports definieren.

    Anschließend irgendwo VOR den I²C Geschichten
    i2cinit
    aufrufen.

    Und dann kannst du mittels
    i2csend <addresse>, <byte>
    Senden, oder mittels
    i2creceive <addresse>, <variable>
    empfangen.

    also:

    ...
    dim var as byte

    $lib "i2c.lib"

    config sda = portc.1
    config scl = portc.0

    i2cinit


    i2csend &H40, 255
    i2creceive &H42, var

    ...


    Hoffe, es funktioniert...

    Ganz liebe Grüße,
    Tobi
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

  3. #3
    Gast
    Hallo Tobias,
    danke für die prompte und ausführliche Beschreibung.
    Ich habe die I2C Schnittstelle mit verschiedenen Bausteinen schon seit einiger Zeit in Betrieb. Einer der Bausteine ist die Uhr PFC8583P
    Unter Bascom AVR 1.11.7.4 lief das ganze auch ohne explizite Angabe von $lib "i2c.lib" und i2cinit. Ich habe diese Anweisungen jetzt in mein Programm aufgenommen und mit Bascom AVR 1.11.7.7 kompiliert
    aber trotzdem gelingt es mir nicht die Uhr richtig zu lesen was unter 1.11.7.4 einwandfrei klappt. Meine Uhr zeigt nur noch FF FF FF an.
    Ich nutze einen ATmega16L
    Gruss Friedel

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    34
    Beiträge
    1.461
    HI

    Ahso. Ich sehe gerade, ich habe auch die .4.
    Es kann sein, dass diese Version jetzt den Hardwase TWI unterstützt.
    Hast du SDA und SCL an den TWI-Pins des Mega?

    Schau mal im Internet. Es kann sein, dass man den TWI jetzt die den UART initialisieren muss.

    Da bin ich im Moment überfragt.

    Aber MCS haben immer gute Beispielprogramme auf ihrer Homepage.

    Wir machen nur gerade einen blöden Ausflug.
    Schlittenfahren. Als ob ich nix besseres zu tun hätte...

    Liebe Grüße, Tobi

    PS: Hast du mal geschaut (mit dem Oszi oder so), ob zum TWI auch was rauskommt?
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    03.11.2004
    Beiträge
    370
    Hast du mal mit dem oszi geschaut, ob da was rauskommt?

  6. #6
    Gast
    An PC1 hängt die SCA Leitung, an PC0 die SCL Leitung
    Es sind kurze Impulse von 5V nach Masse auf den SCA und SCL Leitungen egal ob mit 1.11.7.4 oder 1.11.7.7 kompiliert. Beim Auslesen
    z.B des PCF8583P (Uhr) erhalte ich mit 1.11.7.4 laufend neue Zahlen (Uhrzeit) während nach der Kompilierung mit 1.11.7.7 lese ich nur 256 (FF) aus (z.B für die Sekunden)

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    34
    Beiträge
    1.461
    HI

    Kannst du 'n Bild davon manchen? Wär sehr aufschlussreich...
    (Möglichst SDA und SCL untereinander, möglichst bei DIV = 2V und 50µs

    So in der Art:
    Bild hier  
    (Beispiel, wie das Signal aussehen sollte...)
    )

    Oder alternativ:
    Zeigen sich Start- und Stopbedingungen?
    Ist es ein normales I²C-Signal (Wie auf dem Bild oben?)?
    Sehen die Signale von .4 und .7 unterschiedlich aus?
    Wenn ja, welche Unterscheide?

    Es ist möglich, dass du vor und nach deine I²C-Kommandos
    i2cstart
    und danach
    i2cstop
    aufrufen musst. Ist aber eher unwarscheinlich!


    Ich habe gerade ein ähnliches Spielchen mit einem 24C64...
    Wert = 255...
    (Muss die Sache demnächst (morgen) mal unterm Oszi abchecken...
    Das Problem ist aber glaub' ich eher, dass ich das C64 falsch ansteuere...)

    Ganz liebe Grüße,
    Tobi
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

  8. #8
    Gast
    Hallo Tobias,
    die Signale habe ich mit einem Logiktastkopf gemessen, ich kann nur erkennen Hi Low und Übergang von Hi nach Low. Aber ich habe auch einen 24C256 in meiner Schaltung. Dort schreibe ich mit dem alten Compiler eine Zahl x hinein und kann sie auch wieder auslesen. Mit dem neuen Compiler lese ich immer 255 aus egal was ich rein schreibe. Ich glaube daher nicht daß Du den C64 falsch ansteuerst.
    Ich bin mal gespannt was dein Oszi bei deinem 24C64 sagt.
    Liebe Grüsse aus Mainz
    Friedel

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    34
    Beiträge
    1.461
    Hi

    Oho! Wieviele KBs hat das 256? Ist das zum 24c64 pinkompatibel?

    Könntest du mir deinen Quellcode zum 24C256 schicken?? (Wär' echt super!)
    Mich hat das Datenblatt etwas verwirrt...
    Ich bin guter Dinge, dass der I²C funzt... ich denke, dass da igendein Fehler drin ist...

    Achso. Logiktastkopf...
    Hm.

    Ich glaube nämlich, dass bei dir letztendlich kein gescheites I²C-Signal hinten rauskommt.
    War bei mir auch so.
    Wie könnte man das rausfinden?

    Ganz liebe Grüße aus Bad Schussenried ()
    Tobi
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

  10. #10
    Erfahrener Benutzer Roboter Genie Avatar von darwin.nuernberg
    Registriert seit
    08.08.2004
    Ort
    A, A
    Alter
    59
    Beiträge
    1.305
    Blog-Einträge
    1
    Ich habe von Frank erfahren, dass mit der I²Clib was nicht passen soll bzw. dass da ein Fehler drin steckt.

    Probiers mal mit Deiner alten version oder schau mal nach ob es die jetzt bei mcselec im download gibt.
    Gruss
    Darwin (meine Projekte sind auf meiner Pinnwand zu finden)

Seite 1 von 4 123 ... LetzteLetzte

Benutzer, die dieses Thema gelesen haben: 0

Derzeit gibt es keine Benutzer zum Anzeigen.

Berechtigungen

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

12V Akku bauen