-
        

Ergebnis 1 bis 6 von 6

Thema: Attiny2313 <--> Ds1307 Kommunikation schlägt fehl

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    24.06.2008
    Beiträge
    158

    Attiny2313 <--> Ds1307 Kommunikation schlägt fehl

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo,

    ich habe eine kleine Binäruhr mit einem Attiny2313 und einer RTC (Ds1307) aufgebaut.
    Programmiert wird das ganze derzeitig mit Bascom. Nun hab ich gelesen das für eine I2C Verbindung am Attiny eine extra Bibliothek eingebunden werden muss da das ganze über USI läuft.
    Wenn ich mir die Uhrzeit anzeigen lassen will kommt nur quatsch raus, falsche zahlen und die Uhr läuft nicht weiter.
    SQW Ausgang habe ich auch schon probiert zu setzen, allerdings schaltet der Pin trotzdem nicht im 1Hz Takt.
    Uhrenquarz wurde ausgetauscht falls dieser defekt gewesen sein sollte. Fehlt noch was Softwareseitig?

    $regfile = "attiny2313.dat"
    $crystal = 1000000
    $hwstack = 20
    $swstack = 30
    $framesize = 20
    $noramclear

    $lib "i2c_usi.lbx"

    Config Sda = Portb.5 ' I2C Bus konfigurieren
    Config Scl = Portb.7
    Const Ds1307w = &HD0 ' Addresse der Ds1307 Uhr
    Const Ds1307r = &HD1

    Config Clock = User

    I2cinit

    Time$ = "00:17:00"

    Do
    'Hauptprogramm
    Loop
    End

    Getdatetime:
    I2cstart
    I2cwbyte Ds1307w
    I2cwbyte 0
    I2cstart
    I2cwbyte Ds1307r
    I2crbyte _sec , Ack
    I2crbyte _min , Ack
    I2crbyte _hour , Ack
    I2cstop
    _sec = Makedec(_sec) : _min = Makedec(_min) : _hour = Makedec(_hour)
    Return

    Settime:
    _sec = Makebcd(_sec) : _min = Makebcd(_min) : _hour = Makebcd(_hour)
    I2cstart
    I2cwbyte Ds1307w
    I2cwbyte 0
    I2cwbyte _sec
    I2cwbyte _min
    I2cwbyte _hour
    I2cstop
    Return


    Gruß
    D35troy3r

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    24.06.2008
    Beiträge
    158
    Weiß denn wirklich niemand eine Lösung des Problems?

  3. #3
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Mit dem Tiny habe ich etwas leider noch nie gemacht. Aber ich kann dir nachher einen Code für einen Mega32 und eine DS1307 geben.
    Dann weißt du zumindest ob der Code für den I²C richtig ist. Dann kann der Fehler nur noch bei der Libary liegen.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    24.06.2008
    Beiträge
    158
    Hey,
    einen code für einen Atmega32 und dem DS1307 hatte ich auch schon einmal programmiert, er funktionierte auch und sieht im großen und ganzen genau so aus wie mein geposteter, bloß ohne Libary.
    Ist deiner eventuell etwas anders?
    Mh wie bring ich es aber dann zum laufen ohne Libary?

  5. #5
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    67
    Beiträge
    1.118
    Blog-Einträge
    1
    schau mal HIER nach, vielleicht findest Du da was... ich programmiere schon lange nicht mehr in Bascom..weiss auch nicht weiter.

    Gruss
    OL
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  6. #6
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Zitat Zitat von D35troy3r Beitrag anzeigen
    Hey,
    einen code für einen Atmega32 und dem DS1307 hatte ich auch schon einmal programmiert, er funktionierte auch und sieht im großen und ganzen genau so aus wie mein geposteter, bloß ohne Libary.
    Ist deiner eventuell etwas anders?
    Mh wie bring ich es aber dann zum laufen ohne Libary?
    Ne meiner sieht genau so aus.
    Sicher das du bei der Libary nichts vergessen hast?

    Btw....was mir gerade einfällt.....lösch mal das "Config Clock = User".
    Das hatte ich auch mal in meinem Nixieuhrprogramm und sie hat nur Bullshit gemacht.
    Und dann musst du halt noch die Sprungmarken ins Programm setzen, sonst läuft eine leere Endlosschleife durch
    Ach und die Variablen (das macht ja atm Config Clock) definieren.
    Laut Bascomhilfe für Config Clock:

    Configures the timer to be used for the TIME$ and DATE$ variables.

    Ich denke mal das funkt dir dazwischen.
    Geändert von Kampi (13.10.2012 um 20:41 Uhr)
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

Ähnliche Themen

  1. RP6-Verbindung schlägt fehl
    Von Cruentus im Forum Robby RP6
    Antworten: 9
    Letzter Beitrag: 27.12.2010, 19:07
  2. Atmega16 - ISP Programmierung schlägt fehl
    Von TBA789 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 29.05.2009, 10:14
  3. Byte über RS485 schlägt fehl
    Von BlaueLed im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 13
    Letzter Beitrag: 05.03.2007, 22:28
  4. Erneuter Selftest schlägt fehl.....
    Von papa_moll im Forum Asuro
    Antworten: 11
    Letzter Beitrag: 11.01.2007, 00:24
  5. ASURO: Odometrie-Test schlägt fehl
    Von steinachim im Forum Asuro
    Antworten: 3
    Letzter Beitrag: 03.06.2005, 09:07

Berechtigungen

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