-
-
Erfahrener Benutzer
Fleißiges Mitglied
Hallo Dirk,
irgendwie klappt das nicht. Ich habe folgendes gemacht. Wenn ich _hour auf dem Display anzeigen lasse, steht auf dem Display 33. Warum 33 wenn es beim Test 21 "Uhr" war. Hat das irgendwas mit BCD zu tun?
$regfile = "m8def.dat"
$crystal = 3686400
$hwstack = 256
$swstack = 256
$framesize = 256
'*************Config RTC*************************************
Config Sda = Portc.4
Config Scl = Portc.5
Dim _weekday As Byte
Dim _day As Byte
Dim _month As Byte
Dim _year As Byte
Dim _sec As Byte
Dim _min As Byte
Dim _hour As Byte
Dim Ds1307w As Byte
Dim Ds1307r As Byte
Ds1307w = &B11010000
Ds1307r = &B11010001
_day = 31
_month = 10
_year = 07
_sec = 10
_min = 05
_hour = 21
_weekday = 1
Rem Zeitsetzen
_sec = Makebcd(_sec)
_min = Makebcd(_min)
_hour = Makebcd(_hour)
I2cstart
I2cwbyte Ds1307w
I2cwbyte 0
I2cwbyte _sec
I2cwbyte _min
I2cwbyte _hour
I2cstop
Rem Datumsetzen
_day = Makebcd(_day)
_month = Makebcd(_month)
_year = Makebcd(_year)
_weekday = Makebcd(_weekday)
I2cstart
I2cwbyte Ds1307w
I2cwbyte 3
'I2cwbyte _weekday
I2cwbyte _day
I2cwbyte _month
I2cwbyte _year
I2cstop
'************Funktionen LCD-Display****************************
Config Lcd = 40 * 4
Config Lcdpin = Pin , Rs = Portb.0 , Db4 = Portd.5 , Db5 = Portd.4 , Db6 = Portd.3 , Db7 = Portd.2 , E = Portd.6 , E2 = Portd.7
Config Lcdbus = 4
Config Lcdmode = Port
Dim ___lcdno As Byte
___lcdno = 0
Initlcd
Cursor Off
Cls
___lcdno = 1
Initlcd
Cursor Off
Cls
Do
Gosub Datum_zeit_einlesen
Waitms 1000
___lcdno = 1
Locate 1 , 1
Lcd Bcd(_hour) ; "/" ; Bcd(_min) ; "/" ; Bcd(_sec)
Locate 2 , 15
lcd _hour ' hier wird 33 ausgegeben und nicht 21 (es war beim Test 21
If _hour = 21 Then
Lcd _weekday
End If
Loop
Datum_zeit_einlesen:
I2cstart
I2cwbyte Ds1307w
I2cwbyte 0
I2cstart
I2cwbyte Ds1307r
I2crbyte _sec , Ack
I2crbyte _min , Ack
I2crbyte _hour , Ack
I2crbyte _weekday , Ack
I2crbyte _day , Ack
I2crbyte _month , Ack
I2crbyte _year , Nack
I2cstop
Return
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen