attiny13 как сделать задержку в 5 мин програмно

Обсуждаем контроллеры компании Atmel.
Ответить
Прорезались зубы
Сообщения: 228
Зарегистрирован: Пн окт 04, 2010 11:55:41

Сообщение neid »

Добрый день! Не подскажите код с задержкой в 5 минут, сделал delay_ms(300000); но по какой то причине только через минуту а не через пять начинает дальше выполняться алгоритм!
Реклама
Друг Кота
Аватара пользователя
Сообщения: 20106
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

А что код? Берёте переменную (можно несколько), и в цикле (вложенных циклах) инкрементируете/декрементируете её (их).
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Реклама
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков

Сообщение Dr. Alex »

Ну а не проще-ли, взять переменную и при переполнению счётчика, например 0.1с, увеличивать - дальше фантазия ваша)
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Контактная информация:
Встал на лапы
Сообщения: 122
Зарегистрирован: Вт окт 14, 2014 14:31:04

Сообщение ДMИTPИЙ »

neid писал(а): сделал delay_ms(300000); но по какой то причине только через минуту а не через пять начинает дальше выполняться алгоритм!
Повторите delay_ms(300000);delay_ms(300000);delay_ms(300000);delay_ms(300000);delay_ms(300000); пять раз и будет вам пять минут.
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 20106
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

Если хочется именно с использованием delay_ms, посмотрите файл delay.h
Там должно быть нечно воде

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

   The maximal possible delay is 262.14 ms / F_CPU in MHz.
В соответствии с хотелкой вызывайте delay_ms() нужное количество раз.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Реклама
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков

Сообщение Dr. Alex »

ДMИTPИЙ писал(а): Повторите delay_ms(300000)пять раз
И ЗАГРУЗИМ ПРОЦ ПОЛНОСТЬЮ))))))))) Я всё-таки сторонник ПРЕРЫВАНИЯ!
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 20106
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

В ТЗ чётко написано
сделать задержку в 5 мин програмно
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Опытный кот
Аватара пользователя
Сообщения: 721
Зарегистрирован: Ср июн 11, 2014 09:43:13
Откуда: США

Сообщение Pink-Pank »

delay_ms(300000UL);

либо

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

for (i=1; i<=5; i++) delay_ms (60000);
Fucking static initialization order fiasco
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3459
Зарегистрирован: Ср сен 27, 2006 16:18:57

Сообщение Барсик »

neid писал(а):но по какой то причине только через минуту а не через пять начинает дальше выполняться алгоритм!
Потому что у функции delay_ms аргумент типа unsigned int. Т.е число, большее 65535 в неё засовывать нельзя!
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18786
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Dr. Alex писал(а):
ДMИTPИЙ писал(а): Повторите delay_ms(300000)пять раз
И ЗАГРУЗИМ ПРОЦ ПОЛНОСТЬЮ)))))))))
Требую законодательно ограничить загрузку проца на уровне обычного рабочего дня, т.е. 8 часов в сутки. Все должны иметь право на отдых!!!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Прорезались зубы
Сообщения: 228
Зарегистрирован: Пн окт 04, 2010 11:55:41

Сообщение neid »

Барсик писал(а):
neid писал(а):но по какой то причине только через минуту а не через пять начинает дальше выполняться алгоритм!
Потому что у функции delay_ms аргумент типа unsigned int. Т.е число, большее 65535 в неё засовывать нельзя!
ну теперь понятно, что к чему и почему примерно минута получается!
Прорезались зубы
Сообщения: 228
Зарегистрирован: Пн окт 04, 2010 11:55:41

Сообщение neid »

Уважаемые все спасибо за ответы, ограничусь циклом, что выше человек предлагал, более не требуется! ну и за одно будем прерывание по таймеру изучать, есть к чему рости!)
Ответить

Вернуться в «AVR»