Отговори на тема  [ 11 мнения ] 
MCU (PIC) и големи отброяваня / закъснения - КАК ? 
Автор Съобщение
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Пет Авг 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
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Сеп 26, 2004 4:11 pm
Мнения: 3750
Местоположение: София
Мнение 
Пускаш едно прекъсване от таймер на колкото дойде - напр. 100 пъти в секунда. Правиш един мижав брояч до 100, като го инкрементираш ( нали знаеш какво е инкремент :evil: ) при всяко прекъсване. Като стане == 100, ( това ще се случва точно веднъж в секундата ) го нулираш и увеличваш втори брояч, напр до 3600, и там правиш същото. Така ще имаш събитие веднъж на един час. Продължаваш така пракрически безкрайно и теоретично можеш да си направиш интервал и 1000 години. Естествено във времето между прекъсванията пика ще си прави нещо друго.
Има обаче едно голямо "НО" : нема такъв PIC, дето да работи толкова дълго без да забие или да се нашморка. :lol:


Вто Ное 15, 2005 12:59 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение 
По принцип, ако фалшивите "програмни езици", дето ги ползват за тия пикове, поддържат 64 битова аритметика, може направо една 64 битова променлива да се инкрементира. :)


Вто Ное 15, 2005 1:22 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение 
В IAR има 64 битов long long.


Вто Ное 15, 2005 1:40 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 24, 2005 11:41 pm
Мнения: 1049
Местоположение: Pz
Мнение 
А не може ли да си сложиш един външен RTC (например на Dallas)? Това ти решава проблема с годините, точността и консумацията.


Вто Ное 15, 2005 8:38 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение 
Е бате, аре стига глупости сега. Нема такъв ПИК дето да забива от само себе си. И като се има предвид че са общо взето устойчиви на въшни вляния - абе ако си прочел добре ератите и ти е ОК софтуера - не виждам проблем да инкрементираш и 1024 битова променлива и да закъсняваш и седмици.

Абе навремето за обучение съм правил часовници с 16F84. Ами работи си година без да го пипам. Е акумулира си грешка, ама то не зависи от ядрото, а от неточност на външния клок. Ама на кой му пука, то просто е музеен експонат.

Та съвета ми е - прави го програмно. Генерирането на външен клок с много ниска честота - под 0,01Hz си е трън в гащите.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Вто Ное 15, 2005 11:37 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 07, 2004 1:22 pm
Мнения: 1949
Местоположение: София
Мнение 
DS1307 върши чудесна работа :)


Прикачени файлове:
Коментар на файл: Платката е с PIC16F877A
board_runtime.jpg
board_runtime.jpg [ 9.25 KiB | Прегледано 3941 пъти ]
Вто Ное 15, 2005 2:36 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение 
Може да ползваш и HT1381,струва някакви стотинки


Вто Ное 15, 2005 3:13 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 24, 2005 11:41 pm
Мнения: 1049
Местоположение: Pz
Мнение 
Това НТ1381 кой го продава в България?


Вто Ное 15, 2005 3:32 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение 
Маи от футурел ги вземах,ако не е при тях съм ги вземал от комет


Вто Ное 15, 2005 4:33 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Пет Авг 19, 2005 11:38 am
Мнения: 978
Местоположение: Europe -> BG
Мнение 
bateAz написа:
Пускаш едно прекъсване от таймер на колкото дойде - напр. 100 пъти в секунда. Правиш един мижав брояч до 100, като го инкрементираш ( нали знаеш какво е инкремент :evil: ) при всяко прекъсване. Като стане == 100, ( това ще се случва точно веднъж в секундата ) го нулираш и увеличваш втори брояч, напр до 3600, и там правиш същото. Така ще имаш събитие веднъж на един час. Продължаваш така пракрически безкрайно и теоретично можеш да си направиш интервал и 1000 години. Естествено във времето между прекъсванията пика ще си прави нещо друго.
Има обаче едно голямо "НО" : нема такъв PIC, дето да работи толкова дълго без да забие или да се нашморка. :lol:


Eеее ... аре де - да не знам какво е инкремент ... хах
Това че не бях ползвал асемблер до преди 2 месеца не значи , че не съм ползвал програмен език (мисля казах , че се занимавам от време на време с малки задачки системно програмиране на С под Линукс - нищо кой знае колко сериозн ообаче ;) ).

Та , абе ясно , чеможе едно RealTimeClock с 32кХз кварц, ама това нон-стоп пълнене на таймер и следене или пък с променливата пак нон-стоп с нея ще се занимава, виж говоти външни ис-та по бива ,само да има как да се чете лесно данните, което мисля го има.

Благодаря :)

_________________
един факт :-)
Съжалявам , че исках да помогна ...


Вто Ное 15, 2005 7:54 pm
Профил ICQ
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 11 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни