Если я правильно понимаю, то SCL - порт должен быть на передачу, а SDA на прием.
Тактовая 4 MHz - внешний кварц
А код работы I2C взят Ваш один в один.
Один вопрос, в даташите указано, что для чтения данных из DS1307 бит RW должен быть установлен в 1. Вот тут мне не понятно, для чтения должна быть команда:
i2cread sda, scl, $D0, 0, [sec,Mins,Hr,Day,Date,Mon,Yr] или
Возникла потребность использовать часы реального времени.
Нашел Вашу статью, все сделал как описано, но в результате на дисплее получаю - 02:02:02
Не могу понять в чем проблема?
Подскажите пожалуйста.
Использую PIC16F876 и китайскую сборочку с DS1307
Я написал часть проги только для считывания (без установки времени), я так понимаю, что при подаче питания часы должны запуститься и начать отчет времени с 0:0:0, или им обязательно нужно сделать установку времени?
Я с I2C работаю впервые, пожалуйста помогите разобраться.
Часы реального времени ds1307
in Программирование на PicBasic Pro
Posted · Report reply
Если я правильно понимаю, то SCL - порт должен быть на передачу, а SDA на прием.
Тактовая 4 MHz - внешний кварц
А код работы I2C взят Ваш один в один.
Один вопрос, в даташите указано, что для чтения данных из DS1307 бит RW должен быть установлен в 1. Вот тут мне не понятно, для чтения должна быть команда:
i2cread sda, scl, $D0, 0, [sec,Mins,Hr,Day,Date,Mon,Yr] или
...........................$D1............
У Вас $D1 используется для записи данных в часы.