Перейти к блогу GetChip.net - блог        JilTE[1] - в разработке     Модификации устройств - модификации

 
Текущее время: 28 мар 2024, 14:01

Часовой пояс: UTC + 3 часа [ Летнее время ]



Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЁН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Анти-спам
Анти-спам:
Выполните задание
   

Обзор темы - Начинающим программировать в АБ
Автор Сообщение
  Заголовок сообщения:  Re: Начинающим программировать в АБ  
Цитата


1.png
1.png [ 66.59 КБ | Просмотров: 8491 ]
Сообщение Добавлено: 08 сен 2018, 17:28
  Заголовок сообщения:  Re: Начинающим программировать в АБ  
Цитата
Привет! Нет, не путаю. Прескалер - это не коэффициент деления, а счетчик с этим коэффициентом. Аппаратный счетчик, а не виртуальный.
И, как я понимаю, он "крутится" и считает независимо от того, включен в данный момент таймер, или нет.
Предположим, что Fкамня = 4000000 Гц, и Кпрескалера = 64. Это значит, что таймер будет "тикать" каждые 16 мкс, по переполнению прескалера. Если таймер активировать в тот момент, когда в крескалере УЖЕ будет b#00111111, то таймер начнет считать уже на следующий машинный такт (через 0,25 мск), а если таймер включить, когда в прескалере будет всего b#00000001, то первый "тик" таймера произойдет аж через 16 мкс! То есть, в зависимости от того, в какой момент будет активирован таймер, возникает не нормируемая задержка в пределах от 250 нс до 16 мкс.
Отсюда и возникает вопрос о том, как обнулять счетчик прескалера перед запуском таймера, чтобы исключить или минимизировать эту аппаратную, но не предсказуемую, ошибку при точном измерении отрезков времени.
Кажется, в старой книжке Евстифеева такой режим описан (когда-то читал, не могу сейчас найти), но на практике реализовать его тогда не удалось, а сейчас снова возникла эта проблема. Вот и поинтересовался у сообщества, мо-быть кто-то знает, как это делается.
Требуется считать время с точностью не хуже 1 мкс Мегой 328 с 16 МГц кварцем.
Сообщение Добавлено: 08 сен 2018, 14:46
  Заголовок сообщения:  Re: Начинающим программировать в АБ  
Цитата
Привет!
"но при этом счетный регистр прескалера сохраняет накопленное значение"
Понятие prescaler не с чем не путаете? Потому что prescaler - это значение (коэффициент) на которое делится частота генератора таймера. Соответственно там ничего не накапливается.
Или я чего то не так понял?
Сообщение Добавлено: 08 сен 2018, 11:45
  Заголовок сообщения:  Re: Начинающим программировать в АБ  
Цитата
Сообщение Добавлено: 07 сен 2018, 14:23
  Заголовок сообщения:  Re: Начинающим программировать в АБ  
Цитата
Доброго времени.
Возникла пара вопросов не совсем по АБ, но все же:

Таймер1 АТМега*** может работать в режиме счета внешних событий. При этом внешний тактовый (счетный) сигнал должен подаваться на вход Т1 (у Меги328 это вроде пин PD5).
Можно ли управлять этим пином программно, допустим, по прерыванию другого таймера, не дергая PD5 "снаружи"?

Можно ли как-то принудительно обнулять регистр прескалера таймера (любого)? Регистр сравнения OCR** обнуляется, допустим, при совпадении, но при этом счетный регистр прескалера сохраняет накопленное значение, а это вносит довольно заметную ошибку при измерении коротких временнЫх интервалов.
Сообщение Добавлено: 07 сен 2018, 10:54
  Заголовок сообщения:  Re: Начинающим программировать в АБ  
Цитата
1 используй Sheft+F3 - это актуальное представление данных в коде (другие варианты остались с ранних версий для совместимости)
2 заданные в макросе параметры можно использовать как угодно в теле макроса. при компиляции программы все параметры просто заменяются прописанными значениями
3 кусок кода можно вставить только скрином (ну или скинуть файл вкладки)
Сообщение Добавлено: 23 июн 2018, 00:24
  Заголовок сообщения:  Re: Начинающим программировать в АБ  
Цитата
Сообщение Добавлено: 22 июн 2018, 09:36
  Заголовок сообщения:  Re: Начинающим программировать в АБ  
Цитата
И как сейчас идет работа?
Сообщение Добавлено: 19 июн 2018, 11:34
  Заголовок сообщения:  Re: Начинающим программировать в АБ  
Цитата
Сообщение Добавлено: 18 июн 2018, 12:37
  Заголовок сообщения:  Re: Начинающим программировать в АБ  
Цитата
И все же, в какой кодировке посылает символы на UART АБ?
Термопринтер, который я планирую установить в устройство, поддерживает десятка три таблиц, в т.ч. несколько с кириллицей. Какую из них выбрать для работы?
Сообщение Добавлено: 18 июн 2018, 09:10

Часовой пояс: UTC + 3 часа [ Летнее время ]


Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB