Простейший глупый вопрос по счётчику.

countervectorbase
Offline
Зарегистрирован: 04.10.2020

Есть переменная счетчик. 

unsigned long DDDD = 0;

она максимум должна подниматься до 1000; при итерации в цикле с инкрементом +1;

while(D<1000){DDDD++; delay(/*Неизвестно (X) Нужно Найти*/)}

Вопрос вот такой глупый: сколько X-миллисекунд должно быть  в delay(), чтобы за 10 дней набралось 1000 на счетчике, т.е. на счетчике (или значении переменной DDDD) за 1 день было-> 100, за 2 дня-> 200, за 3 дня->300; У меня ничего не получается.

b707
Offline
Зарегистрирован: 26.05.2017

В школе математику прогуливал?
Х = 24часа * 60мин * 60сек * 1000мс / 100;

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

delay(864000);

b707
Offline
Зарегистрирован: 26.05.2017

DetSimen пишет:

b707 пишет:
В школе математику прогуливал? Х = 24часа * 60мин * 60сек * 1000мс / 1000;

Ему до 1000 надо


ему надо 1000 за 10дней, то есть 100 в день

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

b707 пишет:
DetSimen пишет:

b707 пишет:
В школе математику прогуливал? Х = 24часа * 60мин * 60сек * 1000мс / 1000;

Ему до 1000 надо

ему надо 1000 за 10дней, то есть 100 в день

да, я уже увидел, что у тебя без 10. 

countervectorbase
Offline
Зарегистрирован: 04.10.2020

Попробую, спасибо, т.е. DDDD должно быть:

(10 дней*24 часа*60 мин*60 сек*1000 мс)/1000 делений = 864000 мс/деление

-правильно? И я получу за один день строго 100 делений на счетчике, верно, ребята?

sadman41
Offline
Зарегистрирован: 19.10.2016

Ответ! delay(3000)!

countervectorbase
Offline
Зарегистрирован: 04.10.2020
integer overflow in expression [-Woverflow]
unsigned long DDDD = (10*24*60*60*1000)/1000; 

Что не так?

countervectorbase
Offline
Зарегистрирован: 04.10.2020
delay(864000);

 

Спасибо, буду юзать.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

countervectorbase пишет:

integer overflow in expression [-Woverflow]
unsigned long DDDD = (10*24*60*60*1000)/1000; 

Что не так?

Всё не так!

Мужики, ну хоть какую-нибудь тоненькую книжку для идиотов прочитайте! Ну, мля, НЕЛЬЗЯ программировать НИЮХА не зная!

unsigned long DDDD = 10*24*60*60UL*1000/1000;

Кроме того, нахрена сначала умножать на 1000, а потом на неё же делить? Остаётся

unsigned long DDDD = 10*24*60*60UL;
countervectorbase
Offline
Зарегистрирован: 04.10.2020

http://arduino.ru/Reference/IntegerConstants
Почитал, спасибо, поработаю над собой.
Или, лучше сказать:"Я болел, но я учил."

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Петрович, какие книшки, они арифметику еще по слогам разбирают. 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

ЕвгенийП пишет:

unsigned long DDDD = 10*24*60*60UL*1000/1000;

Кроме того, нахрена сначала умножать на 1000, а потом на неё же делить? Остаётся

unsigned long DDDD = 10*24*60*60UL;

Как зачем? Для тех кто срочную прошёл вопрос не стоит )))

countervectorbase
Offline
Зарегистрирован: 04.10.2020

DetSimen пишет:

Петрович, какие книшки, они арифметику еще по слогам разбирают. 


 

У меня мечта превратится в ...

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

countervectorbase пишет:

У меня мечта превратится в ...

«элегантные шорты» ?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

ЕвгенийП пишет:

countervectorbase пишет:

У меня мечта превратится в ...

«элегантные shortы» ?