Спойлер
Код: Выделить всё
$regfile = "m8def.dat"
$crystal = 8000000
$hwstack = 32
$swstack = 16
$framesize = 16
$lib "ds1307clock.lib"
Config Lcd = 16 * 2
Config Lcdpin = Pin , E = Portd.1 , Rs = Portd.0 , Db7 = Portc.3 , Db6 = Portc.4 , Db5 = Portc.2 , Db4 = Portc.5
Config Lcdmode = Port
Config Sda = Portd.6
Config Scl = Portd.5
Dim Weekday As Byte
Dim Registr_driver_bin As Byte 'переменная для чтения регистра управления
Dim Registr_driver_dec As Integer
Const Ds3231w = &HD0
Const Ds3231r = &HD1
Const Upradress = &H0E
Config Clock = User
I2cstart 'установка
I2cwbyte Ds3231w 'регистра управления на
I2cwbyte Upradress 'секундные импулься
I2cwbyte &B00100000 '
I2cstop
I2cstart
I2cwbyte Ds3231w
I2cwbyte Upradress
I2cstart
I2cwbyte Ds3231r
I2crbyte Registr_driver_bin , Nack
I2cstop
Registr_driver_dec = Binval(registr_driver_bin) 'преобраование bin в dec
Lcd Registr_driver_dec
End А вот прочитать регистр управления не получается. Выдает ерунду... То 0, то 240...
Я хочу сделать проверку, чтоб при каждом рестарте программы, регистр управления лишний раз не дергать...



