|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 11:50 am
|
Страница 1 от 1
|
[ 11 мнения ] |
|
MCU (PIC) и големи отброяваня / закъснения - КАК ?
| Автор |
Съобщение |
|
the_real_maniac
Ранг: Почетен член
Регистриран на: Пет Авг 19, 2005 11:38 am Мнения: 978 Местоположение: Europe -> BG
|
 MCU (PIC) и големи отброяваня / закъснения - КАК ?
Т.е искате закъснение от порядъка на много повече от 1us, 1s , 1h , 2h, 3h ...
примерно: 12 часа,24 часа, 48, 72, седмица, месец, година дори.
КАК ?
Лично аз в момента се питам за пик как , значи имам 2 идейки, но и двете ми се виждат дървени ...
- Външен такт , който да е страааааашно бавен (простичко казано)
- пълнене и чакане на таймер Х по 50 билиона пъти (което хем е страшно дървено,хем нонстоп трябва да се пълни тоя таймер и изчиства флага за "препълване" ).
Докато минава този период голям на чакане си се върши някаква работа, т.е не нон-стоп , но идеята е ДА МОЖЕ ДА СЕ върши работа по време на отброяването.
|
| Пон Ное 14, 2005 11:20 pm |
|
 |
|
bateAz
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 4:11 pm Мнения: 3750 Местоположение: София
|
Пускаш едно прекъсване от таймер на колкото дойде - напр. 100 пъти в секунда. Правиш един мижав брояч до 100, като го инкрементираш ( нали знаеш какво е инкремент  ) при всяко прекъсване. Като стане == 100, ( това ще се случва точно веднъж в секундата ) го нулираш и увеличваш втори брояч, напр до 3600, и там правиш същото. Така ще имаш събитие веднъж на един час. Продължаваш така пракрически безкрайно и теоретично можеш да си направиш интервал и 1000 години. Естествено във времето между прекъсванията пика ще си прави нещо друго.
Има обаче едно голямо "НО" : нема такъв PIC, дето да работи толкова дълго без да забие или да се нашморка. 
|
| Вто Ное 15, 2005 12:59 am |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
По принцип, ако фалшивите "програмни езици", дето ги ползват за тия пикове, поддържат 64 битова аритметика, може направо една 64 битова променлива да се инкрементира. 
|
| Вто Ное 15, 2005 1:22 am |
|
 |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
В IAR има 64 битов long long.
|
| Вто Ное 15, 2005 1:40 am |
|
 |
|
Gogo
Ранг: Форумен бог
Регистриран на: Чет Фев 24, 2005 11:41 pm Мнения: 1049 Местоположение: Pz
|
А не може ли да си сложиш един външен RTC (например на Dallas)? Това ти решава проблема с годините, точността и консумацията.
|
| Вто Ное 15, 2005 8:38 am |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
Е бате, аре стига глупости сега. Нема такъв ПИК дето да забива от само себе си. И като се има предвид че са общо взето устойчиви на въшни вляния - абе ако си прочел добре ератите и ти е ОК софтуера - не виждам проблем да инкрементираш и 1024 битова променлива и да закъсняваш и седмици.
Абе навремето за обучение съм правил часовници с 16F84. Ами работи си година без да го пипам. Е акумулира си грешка, ама то не зависи от ядрото, а от неточност на външния клок. Ама на кой му пука, то просто е музеен експонат.
Та съвета ми е - прави го програмно. Генерирането на външен клок с много ниска честота - под 0,01Hz си е трън в гащите.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Вто Ное 15, 2005 11:37 am |
|
 |
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
|
DS1307 върши чудесна работа 
|
| Вто Ное 15, 2005 2:36 pm |
|
 |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
Може да ползваш и HT1381,струва някакви стотинки
|
| Вто Ное 15, 2005 3:13 pm |
|
 |
|
Gogo
Ранг: Форумен бог
Регистриран на: Чет Фев 24, 2005 11:41 pm Мнения: 1049 Местоположение: Pz
|
Това НТ1381 кой го продава в България?
|
| Вто Ное 15, 2005 3:32 pm |
|
 |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
Маи от футурел ги вземах,ако не е при тях съм ги вземал от комет
|
| Вто Ное 15, 2005 4:33 pm |
|
 |
|
the_real_maniac
Ранг: Почетен член
Регистриран на: Пет Авг 19, 2005 11:38 am Мнения: 978 Местоположение: Europe -> BG
|
Eеее ... аре де - да не знам какво е инкремент ... хах
Това че не бях ползвал асемблер до преди 2 месеца не значи , че не съм ползвал програмен език (мисля казах , че се занимавам от време на време с малки задачки системно програмиране на С под Линукс - нищо кой знае колко сериозн ообаче  ).
Та , абе ясно , чеможе едно RealTimeClock с 32кХз кварц, ама това нон-стоп пълнене на таймер и следене или пък с променливата пак нон-стоп с нея ще се занимава, виж говоти външни ис-та по бива ,само да има как да се чете лесно данните, което мисля го има.
Благодаря 
|
| Вто Ное 15, 2005 7:54 pm |
|
|
|
Страница 1 от 1
|
[ 11 мнения ] |
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 3 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|