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