Ви не увійшли.
Опять сам себе отвечаешь. Ты бы к доктору что ли сходил, такое нельзя запускать. Что-то меня беспокоит твоё здоровье
А ты тут типа "тихо сам с собою" беседу ведёшь, а я типа тебе мешаю.
дурачок - ты ценить меня должен, - я твой единственный читатель. Кроме меня твой бред никто не читает
"полный цикл" от индивидуального предпринимателя?
А кто тебе сказал, что я индивидуальный предприниматель?
Ну попу-то с пальцем путать не надо.
Что, пришёл Форд с конвейером и люди перестали покупать собранные на месте машины?
Это разные рынки.
Те, кто заказывает что-то в "Ищу исполнителя" никогда не закажут мне, т.к. это дорого, а я никогда не возьму заказа у них, т.к. за такие деньги я не работаю. И наоборот, мои заказчики никогда не закажут на "ищу исполнителя" за три копейки, потому как они знают что такое полный цикл, и почему системы должны делать профессионалы, а не профи и программисты, а не прогеры.
Это разные рынки и они существуют независимо друг от друга.
многим радиолюбителям-самоделкиным, даже подрабатывающим коммерчески на этом поприще - прийдёт край
C какого перепугу?
рассыпается миф
Так там в теме именно так вопрос и ставился - проверить это. Проверили. Скважность, конечно не ровно 2, но близко к тому. Читать надо.
В-третьих, мне не хочется возиться с осциллографом.
Ну, как писал Высоцкий: "Стукнул раз - специалист - видно по нему!
Так что стоило повозиться с тестированием,
Достаточно было почитать тему по той ссылке, что я давал. Там есть этот пример с осциллограммой.
Понятно. Диагноз ясен. Вопрос закрыт.
В AVR обычно и в Arduino в частности таймер настроен на системный тик как-раз по 1024-й микросекунде (если не лазить к таймеру руками).
Ты идиот? Частота в ардуино 16МГц, значит системный тик - 1/16 микросекунды. Не знаю, какие тебе нужны источники и пруфы, чтобы из частоты период получить, ну почитай учебник для 6-го класса.
а мне такие эксперименты проделывать в облом
Так ты определись - или делай, или не болтай. Не пахнет там никакими 17,6 мкс и близко. Это твои тормоза. Так что измерял ты не скорость вызовов loop, а скорость твоих тормозов.
Разницу между 1024 и 1000 уловишь?
А ты разницу между системным тиком и тиком миллис уловишь? Или тебе это всё едино?
это при запрещённых прерываниях процессора,
А теперь возьми примпер оттуда, убери запрет прерываний и получи свои 17,6 мкс, бла-блабол.
- период повторения "пустых" loop() в среднем 17.61 мкс.
А если бы ты туда ко всему ещё и delay впихнул, то время было бы ещё больше.
Частота вызова пустого loop - 1.136МГц, стало быть период - 880 наносекунд.
Источник - http://arduino.ru/forum/programmirovanie/chastota-vyzovov-loop
время системного тика чуть меньше 1mc
Поделись телефоном дилера. Тоже хочу эту траву попробовать.
инкрементруйте переменную uint64_t последовательно на значения интервалов получаемых в loop() ... надолго хватит.
А как же время? Длительность loop непредсказуема и ничем не определяется. Нет, ни фига - это не решение.
и еще вопрос, так как я хочу использовать литиумный акку, стоит ли использовать преобразователь на 5в?
Как хотите, но если будете использовать, то забудьте про режимы сна - ничего не сэкономите.
По уму режимы сна нужны, когда Вы используете голый чип, а не ардуино, т.е. -преобразователь и -светодиод_"питание".
Ну, почему же? Есть ещё один момент, когда про переполнение нужно помнить. Если например, нужно отсчитать временной интервал (один!) длиной в два месяца - жопа получится.
А как сбросить таймер millis? Нужно что бы он считал не с начала включения ардуино, а с начала включения лампы.
Сбросить-то его элементарно, другое дело, что в природе не существует реальной необходимости делать это. Если Вам кажется, что Вам это нужно, значит Вы где-то ошиблись или чего-то не понимаете.
А сбросить вот так:
1. На верхнем уровне описываете внешнюю переменную
extern volatile unsigned long timer0_millis;
Затем в любом месте, где Вам нужно, присваиваете ей любое значение. Вот с этого значения миллис и будет с этого момента считать (пока снова чего-то не присвоите). Например,
timer0_millis = 123ul;