простые интересные РАДИОСХЕМЫ сделанные своими руками

» Гость

Мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизируйтесь!





» ДАТАШИТЫ
Например: TDA1562

» СХЕМЫ


Отметить прочитанными   -   Поиск   -   Правила   -   Новые сообщения

Модератор форума: Igoran, Витинари, Sam  
Форум радиолюбителей » СХЕМЫ » НАЧИНАЮЩИМ » Помощь в программировании (Подскажите в какой теме можно задать вопрос)
Помощь в программировании
Пн, 13.11.2017, 15:41 | Сообщение # 61        
msmmmm
аватар
  Постов: 961  Offline Друзья 
Цитата Ник ()
за час спешит на 12сек
12/3600=0.0033. 3300ppm! Самые плохие резонаторы, которые до сих пор попадались мне, были с отклонением в 600ppm. Это не кварц, а какое-то ... Или косяк в программе. Нужно отделить мух от котлет.


Отредактировал msmmmm - Пн, 13.11.2017, 16:01
Пн, 13.11.2017, 16:03 | Сообщение # 62        
Ник
аватар
  Постов: 210  Offline
Все расчеты по времени делаю в прерывании, внесение значений в коррекцию в основной программе с подставлением в прерывание. По началу пробывал изменять значения регистра сравнения в часовом таймере, выходило хуже, или спешат или отстают, середины не находил. Сейчас делаю коррекцию на одну минуту 0.01сек. Да для серьезных часов такой подход не годится, так как я секунды не отображаю, только часы и минуты. То есть у меня в минуте может быть 61 секунда (до 9 сек +-), что нормально не может быть biggrin
Пн, 13.11.2017, 16:12 | Сообщение # 63        
msmmmm
аватар
  Постов: 961  Offline Друзья 
Ник, я не о том, нужно проверить генератор совместно с резонатором, может резонатор подломлен, или с генератором что не так. Слишком уж большая погрешность. А вообще-то в прерывании лучше выставлять флажок или изменять единственный регистр, чтобы основная программа знала, что был факт прерывания.
Пн, 13.11.2017, 16:12 | Сообщение # 64        
nolpofaze
аватар
  Постов: 395  Offline Друзья 
Ник, непонятно, как-то, часовой таймер лучше пользовать по переполнению, например есть переполнение +1секунда, считаем до 60, +1 минута и т.д. Или с меньшим шагом, 1/128 секунды.
В расчетах использовать целые числа, кратные 2, м.б. у тебя ошибка как раз в том, что используешь не целые числа)


Отредактировал nolpofaze - Пн, 13.11.2017, 16:16
Пн, 13.11.2017, 16:45 | Сообщение # 65        
Ник
аватар
  Постов: 210  Offline
msmmmm, пробивал разные кварцы и другие контролеры (мега 32 у меня их 10 шт). на всех спешат. Правда кварцы все выпаяны с доноров, может в этом проблема.

nolpofaze, нет я использовал целые числа к дроби прибег в крайнем (с моей точки зрения). Так в прерывание заходил по переполнению, сейчас у меня за одну секунду 100 тиков.
Пн, 13.11.2017, 16:48 | Сообщение # 66        
nolpofaze
аватар
  Постов: 395  Offline Друзья 
А сами тики где держаться? В переменную пишуться? А почему 100?


Отредактировал nolpofaze - Пн, 13.11.2017, 16:50
Пн, 13.11.2017, 18:28 | Сообщение # 67        
msmmmm
аватар
  Постов: 961  Offline Друзья 
Интересно узнать логику расчета предделителя. По-моему надо делать так:
Частота кварца 32768Гц. Переполнение наступает при 256 тактах, получаем частоту 32768/256=128 Гц. Настраиваем предделитель на 128, получаем 1 прерывание в секунду. Можно настроить на 256 и получить 1 прерывание в 2 секунды. Дальше оперируй целыми секундами.
Пн, 13.11.2017, 19:48 | Сообщение # 68        
Ник
аватар
  Постов: 210  Offline
За 1 сек 100 выходит в прерывание и в прерывании добавляю 0.01. Так в минуту 6000 раз в прерывании, + к этому 0.01 коррекции времени. Буду писать другую программу простеньких часов чисто для учебы и пока не добьюсь нормальной работы не буду на другое отвлекаться. А то страшные расчеты выходят.
Пн, 13.11.2017, 21:53 | Сообщение # 69        
msmmmm
аватар
  Постов: 961  Offline Друзья 
Цитата Ник ()
За 1 сек 100 выходит в прерывание
32768 никак нельзя поделить на 100 равных целых частей. В этом и ошибка. Нужно делить на числа, кратные 2, т.к. 32768=2^15.
Вт, 14.11.2017, 08:35 | Сообщение # 70        
nolpofaze
аватар
  Постов: 395  Offline Друзья 
Ник, лучше как, msmmmm пишет, рассуждать и считать целые числа, а уже для отображения их преобразовать в нужный формат.
Форум радиолюбителей » СХЕМЫ » НАЧИНАЮЩИМ » Помощь в программировании (Подскажите в какой теме можно задать вопрос)
Поиск:
Кто есть кто на форуме радиолюбителей: Администратор Модераторы Друзья Пользователи
Группа вконтакте Канал ютуб Группа в фэйсбук Мобильная версия © 2010-2018, "Радиосхемы". Все права защищены. Почта