DS1307 как запустить ?

Аватара пользователя
fefar51702
Сержант
Сообщения: 248
Зарегистрирован: 26 июн 2022, 07:35
Имя: Валера
Благодарил (а): 1 раз
Поблагодарили: 5 раз

DS1307 как запустить ?

Сообщение fefar51702 »

уже год как часы не работают
кто нибудь разобрался как исправить код чтобы они заработали
после заливки показывают 00:00:80 и стоят на месте
IMG_20240217_100527.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
sava74
Рядовой
Сообщения: 18
Зарегистрирован: 01 июн 2018, 19:52
Имя: Илья

DS1307 как запустить ?

Сообщение sava74 »

Обычно с ними проблем нету.
Проект хотелось бы увидеть для начала.
Аватара пользователя
fefar51702
Сержант
Сообщения: 248
Зарегистрирован: 26 июн 2022, 07:35
Имя: Валера
Благодарил (а): 1 раз
Поблагодарили: 5 раз

DS1307 как запустить ?

Сообщение fefar51702 »

дело не в проекте а в совтовом блоке

2024-02-17_102706.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
sava74
Рядовой
Сообщения: 18
Зарегистрирован: 01 июн 2018, 19:52
Имя: Илья

DS1307 как запустить ?

Сообщение sava74 »

В восьмой версии новые библиотеки, там походу косяк есть
попробуй в версии FLProg 7.5.2
Аватара пользователя
fefar51702
Сержант
Сообщения: 248
Зарегистрирован: 26 июн 2022, 07:35
Имя: Валера
Благодарил (а): 1 раз
Поблагодарили: 5 раз

DS1307 как запустить ?

Сообщение fefar51702 »

не какая то хрень не ведомая
я уже и билиотеку по откатывал до версии 1,14
и флпрог запустил 7,3,8
бесполезно
Аватара пользователя
montirovka
Капитан
Сообщения: 731
Зарегистрирован: 15 фев 2021, 16:16
Откуда: Геленджик
Имя: Сергей
Благодарил (а): 42 раза
Поблагодарили: 174 раза

DS1307 как запустить ?

Сообщение montirovka »

Так а проект можно увидеть? Почему 80 секунд ? Шину I2C сканировали? Адрес 1307 и модуля с 24С32 виден? Как правило осмотр платы с увеличителем позволяет выявить более быстро неисправность. Плата DS1307 c 24C32? Батарейку меняли? Ноги кварцевого резонатора в норме? Квары бывает выходят из строя. Тараканы ни чего не съели ( не накакали)? Может просто платка вышла из строя?
P.S. Адрес часов 0х68, адрес EEPROM 0х50.
Аватара пользователя
fefar51702
Сержант
Сообщения: 248
Зарегистрирован: 26 июн 2022, 07:35
Имя: Валера
Благодарил (а): 1 раз
Поблагодарили: 5 раз

DS1307 как запустить ?

Сообщение fefar51702 »

с адресами нормально всё
2024-02-17_124655.png
дело не в модуле
у меня и обычная расыпуха 1307 припаяная к есп не запускается так же нехочет
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
montirovka
Капитан
Сообщения: 731
Зарегистрирован: 15 фев 2021, 16:16
Откуда: Геленджик
Имя: Сергей
Благодарил (а): 42 раза
Поблагодарили: 174 раза

DS1307 как запустить ?

Сообщение montirovka »

Допытался что ESP. А где проект?
sava74
Рядовой
Сообщения: 18
Зарегистрирован: 01 июн 2018, 19:52
Имя: Илья

DS1307 как запустить ?

Сообщение sava74 »

[ref]fefar51702[/ref], пришли скетч что в IDE компилируется, посмотрим что там.
Аватара пользователя
montirovka
Капитан
Сообщения: 731
Зарегистрирован: 15 фев 2021, 16:16
Откуда: Геленджик
Имя: Сергей
Благодарил (а): 42 раза
Поблагодарили: 174 раза

DS1307 как запустить ?

Сообщение montirovka »

Так где инкубатор с часами? А почему UNO?
2024-02-17_09-24-58.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

DS1307 как запустить ?

Сообщение rw6cm »

fefar51702 писал(а): 17 фев 2024, 06:08 после заливки показывают 00:00:80 и стоят на месте
Похоже часы не настроены.
Запишите в часы правдоподобные данные, и все должно работать
2024_02_17_10_08_39_FLProg_8.2.3.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
Аватара пользователя
fefar51702
Сержант
Сообщения: 248
Зарегистрирован: 26 июн 2022, 07:35
Имя: Валера
Благодарил (а): 1 раз
Поблагодарили: 5 раз

DS1307 как запустить ?

Сообщение fefar51702 »

учитывая что есть вопросы то блок не кто не проверял вчера
а учитывая что прошол уже почти год то блоком никто и не пользуется

[ref]montirovka[/ref], дело не в проекте если сам блок не работает
я же скинул скрин где только блок и уарт с ним что бы не было потом вопросов по якобы конфликту блоков
про ЕСП я писал что и на ней тоже блок не работает как и на ардуино

[ref=#ff8000]rw6cm[/ref], это не правельное размышление ибо все часы стартуют после заливки с 00:00:00
будь то 3231 1302 1307 либо системные часы на мк

я залил пример из библиотеки и всё работает
[spoiler]

Код: Выделить всё

// Date and time functions using a DS1307 RTC connected via I2C and Wire lib
#include "RTClib.h"

RTC_DS1307 rtc;

char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};

void setup () {
  Serial.begin(57600);

#ifndef ESP8266
  while (!Serial); // wait for serial port to connect. Needed for native USB
#endif

  if (! rtc.begin()) {
    Serial.println("Couldn't find RTC");
    Serial.flush();
    while (1) delay(10);
  }

  if (! rtc.isrunning()) {
    Serial.println("RTC is NOT running, let's set the time!");
    // When time needs to be set on a new device, or after a power loss, the
    // following line sets the RTC to the date & time this sketch was compiled
    rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
    // This line sets the RTC with an explicit date & time, for example to set
    // January 21, 2014 at 3am you would call:
    // rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
  }

  // When time needs to be re-set on a previously configured device, the
  // following line sets the RTC to the date & time this sketch was compiled
  // rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
  // This line sets the RTC with an explicit date & time, for example to set
  // January 21, 2014 at 3am you would call:
  // rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
}

void loop () {
    DateTime now = rtc.now();

    Serial.print(now.year(), DEC);
    Serial.print('/');
    Serial.print(now.month(), DEC);
    Serial.print('/');
    Serial.print(now.day(), DEC);
    Serial.print(" (");
    Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);
    Serial.print(") ");
    Serial.print(now.hour(), DEC);
    Serial.print(':');
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    Serial.print(now.second(), DEC);
    Serial.println();

    Serial.print(" since midnight 1/1/1970 = ");
    Serial.print(now.unixtime());
    Serial.print("s = ");
    Serial.print(now.unixtime() / 86400L);
    Serial.println("d");

    // calculate a date which is 7 days, 12 hours, 30 minutes, and 6 seconds into the future
    DateTime future (now + TimeSpan(7,12,30,6));

    Serial.print(" now + 7d + 12h + 30m + 6s: ");
    Serial.print(future.year(), DEC);
    Serial.print('/');
    Serial.print(future.month(), DEC);
    Serial.print('/');
    Serial.print(future.day(), DEC);
    Serial.print(' ');
    Serial.print(future.hour(), DEC);
    Serial.print(':');
    Serial.print(future.minute(), DEC);
    Serial.print(':');
    Serial.print(future.second(), DEC);
    Serial.println();

    Serial.println();
    delay(3000);
}
[/spoiler]

2024-02-18_082442.png
а вот из флпрога запуск не работает
[spoiler]

Код: Выделить всё

#include <Wire.h>
#include "flprogUtilites.h"
struct _I2CRealRimeClockTime
{
    byte seconds = 0;
    byte minutes = 0;
    byte Hours = 0;
    byte weekday = 0;
    byte day = 0;
    byte month = 0;
    byte year = 0;
    unsigned long startTime = 0;
}
;
_I2CRealRimeClockTime _RTC1;
String _RTC1_GetTime1_StrOut;
unsigned long _stou1 = 0UL;
void setup()
{
    Wire.begin();
    delay(10);
    Wire.beginTransmission(68);
    Wire.write(0x0E);
    Wire.write(B00000000);
    Wire.write(B10001000);
    Wire.endTransmission();
    _RTC1.startTime = millis() - 1000;
    _startUart0();
    _stou1 = millis();
}
void loop()
{
    //Плата:1
    get3231Date(0x68, &_RTC1);
    _RTC1_GetTime1_StrOut = (_convertRealTimeClockNumberToString(_RTC1.Hours))+
    String(":")+
    (_convertRealTimeClockNumberToString(_RTC1.minutes))+
    String(":")+
    (_convertRealTimeClockNumberToString(_RTC1.seconds));
    if (!(0))
    {
         if (flprog::isTimer(_stou1, 1000)) 
        {
            Serial.println(_RTC1_GetTime1_StrOut);
            _stou1 = millis();
        }
    }
     else 
    {
        _stou1 = millis();
    }
}
void get3231Date(int addres, struct _I2CRealRimeClockTime *timeStruct)
{
    if (!(flprog::isTimer ((timeStruct ->startTime), 250))) 
    {
        return;
    }
    Wire.beginTransmission(addres);
    Wire.write(0x00);
    Wire.endTransmission();
    Wire.requestFrom(addres, 7);
    if (Wire.available()) 
    {
        byte  seconds = Wire.read();
        byte minutes = Wire.read();
        byte hours   = Wire.read();
        byte day     = Wire.read();
        byte date    = Wire.read();
        byte month   = Wire.read();
        byte year    = Wire.read();
        timeStruct -> seconds = (((seconds & B11110000) >> 4) * 10 + (seconds & B00001111));
        timeStruct -> minutes = (((minutes & B11110000) >> 4) * 10 + (minutes & B00001111));
        timeStruct -> Hours = (((hours & B00110000) >> 4) * 10 + (hours & B00001111));
        timeStruct -> weekday = (day & B00000111);
        timeStruct -> day    = (((date & B00110000) >> 4) * 10 + (date & B00001111));
        timeStruct -> month   = (((month & B00010000) >> 4) * 10 + (month & B00001111));
        timeStruct -> year    = (((year & B11110000) >> 4) * 10 + (year & B00001111));
    }
     timeStruct ->startTime = millis();
}
String _convertRealTimeClockNumberToString(byte value)
{
    if (value > 9) 
    {
        return String(value, DEC);
    }
    return (String("0") + String(value, DEC));
}
void _startUart0()
{
    int code= 6;
    Serial.begin(9600, (flprog::serialModeFromInt(code)));
}
[/spoiler]
но что скопировать из примера в флпрог я не понимаю что бы оно тоже заработало
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

DS1307 как запустить ?

Сообщение rw6cm »

fefar51702 писал(а): 18 фев 2024, 04:36 rw6cm, это не правельное размышление ибо все часы стартуют после заливки с 00:00:00
будь то 3231 1302 1307 либо системные часы на мк
я не размышляю, а говорю как есть. флпрог не использует библиотеки для часов.
и по факту если часы 1307 сбросить (поменять батарейку или вообще без нее) то часы не запустятся,
будут секунды на 80., пока не введешь в них адекватные данные. С 3231 такого нет, они стартуют с 0.
Win10-64, FLProg (portable)
Аватара пользователя
montirovka
Капитан
Сообщения: 731
Зарегистрирован: 15 фев 2021, 16:16
Откуда: Геленджик
Имя: Сергей
Благодарил (а): 42 раза
Поблагодарили: 174 раза

DS1307 как запустить ?

Сообщение montirovka »

[ref]fefar51702[/ref], проверьте, это работает? Если работает то фото можно что у вас на экране 1601.
DS3231 и без батарейки работает.
часы.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

DS1307 как запустить ?

Сообщение rw6cm »

[ref]montirovka[/ref],
Речь конкретно про 1307. С 3231 нет проблем.
Скорей всего есть нюансы между этими часами, а флп использует один и тот же код для них.
Win10-64, FLProg (portable)
Аватара пользователя
montirovka
Капитан
Сообщения: 731
Зарегистрирован: 15 фев 2021, 16:16
Откуда: Геленджик
Имя: Сергей
Благодарил (а): 42 раза
Поблагодарили: 174 раза

DS1307 как запустить ?

Сообщение montirovka »

В FLProg ткните 1307. Неужели сложно? Или ошибка выскакивает?
Ниже под DS1307.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

DS1307 как запустить ?

Сообщение rw6cm »

montirovka писал(а): 18 фев 2024, 10:25 Неужели сложно? Или ошибка выскакивает?
Если добавить настройку секунд к вашему проекту (то что предлагал постами выше),
то часы начнут нормально работать.
а так:
IMG_6972.JPG
По факту достаточно установка только секунд в 0, чтобы они стали нормально работать
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
OLGA
Сержант
Сообщения: 145
Зарегистрирован: 04 авг 2021, 09:21
Имя: Павел
Благодарил (а): 44 раза
Поблагодарили: 5 раз

DS1307 как запустить ?

Сообщение OLGA »

Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

DS1307 как запустить ?

Сообщение rw6cm »

[ref]fefar51702[/ref],
Можно один раз сбросить секунды и они работают без проблем до замены батарейки или нештатного глюка
Как вариант можно один раз при включении питания проверять не больше ли 60 значение секунд,
если больше сбрасывать на ноль. тогда можно не беспокоится о батарейке.
2024_02_18indow.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
Аватара пользователя
fefar51702
Сержант
Сообщения: 248
Зарегистрирован: 26 июн 2022, 07:35
Имя: Валера
Благодарил (а): 1 раз
Поблагодарили: 5 раз

DS1307 как запустить ?

Сообщение fefar51702 »

кстати да после загрузки 00:00:80
если пнуть установку то начинают тикать от 00:00:00
странно но раньше же они сразу у меня начинали работать от 00:00:00 вроде как иначе я бы заметил что они стоят на месте
или китайцы с батарейкой присылали вставленой не помню уже
Ответить

Вернуться в «Помогите, а то я "нимагу"»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя