Большие выдержки времени!
|
|
Broka |
Дата: Чт, 10.12.2009, 21:04 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
253
Замечания:
±
На сайте с 30.09.2009
Статус:
Offline
|
Недавно скачал универсальную программу для создания задержек времени для PIC, www.picbasic.ru/load/3-1-0-112 как применить её к PicBasicPRO незнаю,может кто подскажет на примере, пробовал по всякому,компилятор ругается что неправильный синтаксис. Дело в том что мне надо написать программу на 7дней,чтобы в определённое время включалась та или иная функция,(Вообщем цикл у этой программы недельный,через неделю всё обнуляется и пошло всё заново.) В принципе я догадываюсь как это сделать,работает таймер,по достижении нужного промежутка времени, от таймера происходит прерывание,потом возвращается на то место от куда было всё это вызвано,но вот как это сделать в PicBasicPro,ни как не могу понять!
Наладчик КИП и А
|
|
|
|
brown |
Дата: Чт, 10.12.2009, 22:20 | Сообщение # 2 |
Группа:
Пользователи
Ранг:
Помогаю всем
Сообщений:
333
Замечания:
±
На сайте с 18.09.2007
Статус:
Offline
|
Цитата Broka Недавно скачал универсальную программу для создания задержек времени для PIC Данная программа для ассемблера. В бейсике есть ее простой эквивалент PAUSE и компилятор сгенерит некое подобное в АСМе. Вам это видимо не подходит. Думаю подойдет какая нибудь прога часов, которые неоднократно обсуждались на форуме. Примеры должны быть здесь http://www.picbasic.ru/load/8-1-0-110 Либо вообще использовать часы реального времени типа DS1307.
Век живи - век учись! К концу жизни поймешь, что ничего не знаешь...
|
|
|
|
terrarus |
Дата: Пт, 11.12.2009, 14:05 | Сообщение # 3 |
Группа:
Пользователи
Ранг:
Помогаю всем
Сообщений:
451
Замечания:
±
На сайте с 21.08.2008
Статус:
Offline
|
Могу предложить такой вариант без использования прерываний: main: For cek = 1 To 10080 Pause 1000 ' Пауза 1 сек GoSub Vkl GoSub Vykl Next GoTo main End Vkl: If x = 1440 Then Led1 = 1 ' Если прошли 1 сутки (24 часа) то включить устройство №1 1440 = 60 сек х 24 часа If x = 2880 Then Led2 = 1 ' Если прошло 2 суток то включить устройство №2 ...... If x = NN Then LedN = 1 ' Если прошлo N сутки (48 часа) то включить устройство №N NN = 60 cек x N суток Return Vykl: If x >= 1500 Then Led1 = 0 ' Если прошли 25 часов то выключить устройство №1 1440 = 60 сек х 24 часа If x >= 2940 Then Led2 = 0 ' Если прошло 49 часов то выключить устройство №2 ...... If x >= NN Then LedN = 0 ' Если прошлo NN cекунд выключить устройство №N Return
Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
Сообщение отредактировал
terrarus - Пт, 11.12.2009, 14:58
|
|
|
|
Broka |
Дата: Пт, 11.12.2009, 22:15 | Сообщение # 4 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
253
Замечания:
±
На сайте с 30.09.2009
Статус:
Offline
|
Спасибо большое,буду проводить эксперементы. Обязательно напишу о результатах! Я так думаю вместо Pause 1000,надо бы поставить 60000,да?
Наладчик КИП и А
Сообщение отредактировал
Broka - Сб, 12.12.2009, 10:31
|
|
|
|
terrarus |
Дата: Сб, 12.12.2009, 11:42 | Сообщение # 5 |
Группа:
Пользователи
Ранг:
Помогаю всем
Сообщений:
451
Замечания:
±
На сайте с 21.08.2008
Статус:
Offline
|
Да, я ошибся, забыл что в 1 сутках 60сек Х 60 мин Х 24 часа = 86400 сек Но помните что в Рic,BasicPRO максимально поддерживаются только переменные типа WORD (слово) которые не могут быть больше 65535 , поэтому нужно будет вводить промежуточные переменные, а лучше писать на Протоне дак как Протон поддерживает переменые дипа DWORD (Двойное слово) которые могут оперировать с числами до 2147483647 Прграмма будет такая же, только оператор Pause 1000 нужно заменить на DelayMs 1000
Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
|
|
|
|
Broka |
Дата: Сб, 12.12.2009, 17:46 | Сообщение # 6 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
253
Замечания:
±
На сайте с 30.09.2009
Статус:
Offline
|
Я вот каждый раз сталкиваюсь с какой - нибудь проблемой при программировании, и вот смотрю в Протоне возможностей намного больше , буду изучать Протон, операторы не очень намного отличаются,а возможностей больше!
Наладчик КИП и А
|
|
|
|
terrarus |
Дата: Сб, 12.12.2009, 21:57 | Сообщение # 7 |
Группа:
Пользователи
Ранг:
Помогаю всем
Сообщений:
451
Замечания:
±
На сайте с 21.08.2008
Статус:
Offline
|
Да, Протон гораздо мощьнее, чем его предшественники одних только операторов около 200 против 88 операторов PicBasicPRO. Но для 12-разрядных PIC-микроконтроллеров поддерживаются не все операторы. Зато с 16-разрядными работает просто сказка!
Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
Сообщение отредактировал
terrarus - Сб, 12.12.2009, 22:00
|
|
|
|