DS1307 как запустить ?
- fefar51702
- Сержант
- Сообщения: 248
- Зарегистрирован: 26 июн 2022, 07:35
- Имя: Валера
- Благодарил (а): 1 раз
- Поблагодарили: 5 раз
DS1307 как запустить ?
уже год как часы не работают
кто нибудь разобрался как исправить код чтобы они заработали
после заливки показывают 00:00:80 и стоят на месте
кто нибудь разобрался как исправить код чтобы они заработали
после заливки показывают 00:00:80 и стоят на месте
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- fefar51702
- Сержант
- Сообщения: 248
- Зарегистрирован: 26 июн 2022, 07:35
- Имя: Валера
- Благодарил (а): 1 раз
- Поблагодарили: 5 раз
DS1307 как запустить ?
дело не в проекте а в совтовом блоке
У вас нет необходимых прав для просмотра вложений в этом сообщении.
DS1307 как запустить ?
В восьмой версии новые библиотеки, там походу косяк есть
попробуй в версии FLProg 7.5.2
попробуй в версии FLProg 7.5.2
- fefar51702
- Сержант
- Сообщения: 248
- Зарегистрирован: 26 июн 2022, 07:35
- Имя: Валера
- Благодарил (а): 1 раз
- Поблагодарили: 5 раз
DS1307 как запустить ?
не какая то хрень не ведомая
я уже и билиотеку по откатывал до версии 1,14
и флпрог запустил 7,3,8
бесполезно
я уже и билиотеку по откатывал до версии 1,14
и флпрог запустил 7,3,8
бесполезно
- montirovka
- Капитан
- Сообщения: 732
- Зарегистрирован: 15 фев 2021, 16:16
- Откуда: Геленджик
- Имя: Сергей
- Благодарил (а): 42 раза
- Поблагодарили: 174 раза
DS1307 как запустить ?
Так а проект можно увидеть? Почему 80 секунд ? Шину I2C сканировали? Адрес 1307 и модуля с 24С32 виден? Как правило осмотр платы с увеличителем позволяет выявить более быстро неисправность. Плата DS1307 c 24C32? Батарейку меняли? Ноги кварцевого резонатора в норме? Квары бывает выходят из строя. Тараканы ни чего не съели ( не накакали)? Может просто платка вышла из строя?
P.S. Адрес часов 0х68, адрес EEPROM 0х50.
P.S. Адрес часов 0х68, адрес EEPROM 0х50.
- fefar51702
- Сержант
- Сообщения: 248
- Зарегистрирован: 26 июн 2022, 07:35
- Имя: Валера
- Благодарил (а): 1 раз
- Поблагодарили: 5 раз
DS1307 как запустить ?
с адресами нормально всё
дело не в модуле
у меня и обычная расыпуха 1307 припаяная к есп не запускается так же нехочет
дело не в модуле
у меня и обычная расыпуха 1307 припаяная к есп не запускается так же нехочет
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- montirovka
- Капитан
- Сообщения: 732
- Зарегистрирован: 15 фев 2021, 16:16
- Откуда: Геленджик
- Имя: Сергей
- Благодарил (а): 42 раза
- Поблагодарили: 174 раза
DS1307 как запустить ?
[ref]fefar51702[/ref], пришли скетч что в IDE компилируется, посмотрим что там.
- montirovka
- Капитан
- Сообщения: 732
- Зарегистрирован: 15 фев 2021, 16:16
- Откуда: Геленджик
- Имя: Сергей
- Благодарил (а): 42 раза
- Поблагодарили: 174 раза
DS1307 как запустить ?
Так где инкубатор с часами? А почему UNO?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
DS1307 как запустить ?
Похоже часы не настроены.
Запишите в часы правдоподобные данные, и все должно работать
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
- fefar51702
- Сержант
- Сообщения: 248
- Зарегистрирован: 26 июн 2022, 07:35
- Имя: Валера
- Благодарил (а): 1 раз
- Поблагодарили: 5 раз
DS1307 как запустить ?
учитывая что есть вопросы то блок не кто не проверял вчера
а учитывая что прошол уже почти год то блоком никто и не пользуется
[ref]montirovka[/ref], дело не в проекте если сам блок не работает
я же скинул скрин где только блок и уарт с ним что бы не было потом вопросов по якобы конфликту блоков
про ЕСП я писал что и на ней тоже блок не работает как и на ардуино
[ref=#ff8000]rw6cm[/ref], это не правельное размышление ибо все часы стартуют после заливки с 00:00:00
будь то 3231 1302 1307 либо системные часы на мк
я залил пример из библиотеки и всё работает
[spoiler][/spoiler]
а вот из флпрога запуск не работает
[spoiler][/spoiler]
но что скопировать из примера в флпрог я не понимаю что бы оно тоже заработало
а учитывая что прошол уже почти год то блоком никто и не пользуется
[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]
Код: Выделить всё
#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)));
}
но что скопировать из примера в флпрог я не понимаю что бы оно тоже заработало
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
DS1307 как запустить ?
я не размышляю, а говорю как есть. флпрог не использует библиотеки для часов.fefar51702 писал(а): 18 фев 2024, 04:36 rw6cm, это не правельное размышление ибо все часы стартуют после заливки с 00:00:00
будь то 3231 1302 1307 либо системные часы на мк
и по факту если часы 1307 сбросить (поменять батарейку или вообще без нее) то часы не запустятся,
будут секунды на 80., пока не введешь в них адекватные данные. С 3231 такого нет, они стартуют с 0.
Win10-64, FLProg (portable)
- montirovka
- Капитан
- Сообщения: 732
- Зарегистрирован: 15 фев 2021, 16:16
- Откуда: Геленджик
- Имя: Сергей
- Благодарил (а): 42 раза
- Поблагодарили: 174 раза
DS1307 как запустить ?
[ref]fefar51702[/ref], проверьте, это работает? Если работает то фото можно что у вас на экране 1601.
DS3231 и без батарейки работает.
DS3231 и без батарейки работает.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
DS1307 как запустить ?
[ref]montirovka[/ref],
Речь конкретно про 1307. С 3231 нет проблем.
Скорей всего есть нюансы между этими часами, а флп использует один и тот же код для них.
Речь конкретно про 1307. С 3231 нет проблем.
Скорей всего есть нюансы между этими часами, а флп использует один и тот же код для них.
Win10-64, FLProg (portable)
- montirovka
- Капитан
- Сообщения: 732
- Зарегистрирован: 15 фев 2021, 16:16
- Откуда: Геленджик
- Имя: Сергей
- Благодарил (а): 42 раза
- Поблагодарили: 174 раза
DS1307 как запустить ?
В FLProg ткните 1307. Неужели сложно? Или ошибка выскакивает?
Ниже под DS1307.
Ниже под DS1307.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
DS1307 как запустить ?
Если добавить настройку секунд к вашему проекту (то что предлагал постами выше),
то часы начнут нормально работать.
а так: По факту достаточно установка только секунд в 0, чтобы они стали нормально работать
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
DS1307 как запустить ?
[ref]fefar51702[/ref],
Можно один раз сбросить секунды и они работают без проблем до замены батарейки или нештатного глюка
Как вариант можно один раз при включении питания проверять не больше ли 60 значение секунд,
если больше сбрасывать на ноль. тогда можно не беспокоится о батарейке.
Можно один раз сбросить секунды и они работают без проблем до замены батарейки или нештатного глюка
Как вариант можно один раз при включении питания проверять не больше ли 60 значение секунд,
если больше сбрасывать на ноль. тогда можно не беспокоится о батарейке.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
- fefar51702
- Сержант
- Сообщения: 248
- Зарегистрирован: 26 июн 2022, 07:35
- Имя: Валера
- Благодарил (а): 1 раз
- Поблагодарили: 5 раз
DS1307 как запустить ?
кстати да после загрузки 00:00:80
если пнуть установку то начинают тикать от 00:00:00
странно но раньше же они сразу у меня начинали работать от 00:00:00 вроде как иначе я бы заметил что они стоят на месте
или китайцы с батарейкой присылали вставленой не помню уже
если пнуть установку то начинают тикать от 00:00:00
странно но раньше же они сразу у меня начинали работать от 00:00:00 вроде как иначе я бы заметил что они стоят на месте
или китайцы с батарейкой присылали вставленой не помню уже
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость