Do ATmega 32 podłączyłem DS1307 do portc.0-SCL i portc.1-SDA Vbat do masy itd... nie zrobiłem jeszcze kalwiaturki do ustawiania godziny... ale napisałem krótki programik sczytujący z ds'a czas
Na wyświetlaczu wypisuje mi cały czas 165:165:165 i nic się nie dzieje
Co robić pomocy
$regfile = "m32def.dat"
$lib "mcsbyte.lbx" ' for smaller code
$lib "Ds1307clock.lib" '"ds1307rtc.lib" modified lib
$crystal = 16000000
$baud = 9600
Dim G As Byte
Dim M As Byte
Dim S As Byte
Dim Ss As Byte
Dim Dni As Byte
Dim Miesiace As Byte
Dim Miesiac As Byte
Dim Rok As Byte
Dim Ss_str As String * 2
Dim S_str As String * 2
Dim M_str As String * 2
Dim G_str As String * 2
Dim Dni_str As String * 2
Dim Miesiace_str As String * 2
Dim Rok_str As String * 2
Dim Weekday As Byte
Do
I2cinit
I2cstart
I2cwbyte &HD0
I2cwbyte 0
I2cstart
I2cwbyte &HD1
I2crbyte S , Ack
I2crbyte M , Ack
I2crbyte G , Ack
I2crbyte Weekday , Ack
I2crbyte Dni , Ack
I2crbyte Miesiace , Ack
I2crbyte Rok , Nack
I2cstop
S = Makedec(s) : M = Makedec(m) : G = Makedec(g)
Dni = Makedec(dni) : Miesiace = Makedec(miesiace) : Rok = Makedec(rok)
S_str = Str(s) : M_str = Str(m) : G_str = Str(g)
Dni_str = Str(dni) : Miesiace_str = Str(miesiace) : Rok_str = Str(rok)
S_str = Format(s_str , "00") : M_str = Format(m_str , "00") : G_str = Format(g_str , "00")
Dni_str = Format(dni_str , "00") : Miesiace_str = Format(miesiace_str , "00") : Rok_str = Format(rok_str , "00")
Cls
Locate 1 , 1
Lcd G ; ":" ; M ; ":" ; S
Waitms 500
LoopNa wyświetlaczu wypisuje mi cały czas 165:165:165 i nic się nie dzieje
Moderowany przez _Robak_:Proponuję zacząć od poprawy nazwy tematu.