TMR1 в тини2313 и шаговик в ФК

Раздел начинающих пользователей
Правила форума
В песочнице можно спрашивать когда незнаешь где спросить.
В песочнице нелзя посылать в гугл
В песочнице можно задавать любой вопрос, но на него могут и неответить.
Песочница для тех, кто начинает свои вопросы с защиты чайников от пинков.
В песочницу будут перетаскиваться вопросы неполучившие ответа.
Песочница - попытка навести порядок.
На песочницу большие надежды.

TMR1 в тини2313 и шаговик в ФК

Сообщение scooby-d0 (scooby-d0) » 16 янв 2013, 13:47

Добрый день!
Использую Flowcode for avr 4.3.6
Есть задача, заставить вращаться шаговый двигатель на N-ое количество шагов, раз в секунду!
С первой частью я справился, а вот со второй некоторый затык.
Использую кварц на 16мГц (что под рукой было).
Поставил прерывание по TMR0 и скайлер на 8, но он 8-ми битный. И с 16 мГц, достаточно трудно выцепить секунду. Тобишь получается 16000000/8/256 = 7812.5 переполнений таймера в секунду. Эту самую половинку переполнения мне и надо убрать.
Если-бы можно было использовать 16-ти битный таймер,то там проще выставить 16000000/256/625 = 100 тиков в секунду. От этого ровного числа уже можно плясать.
Как и можно ли использовать TMR1?

Второй вопрос. Что за демоническая система паттеров для шаговика использована? пришлось править ручками полушаг.

В приложении мой проект. Кстати если включить симуляцию шаговика, то флоукод вылетает...
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: scooby-d0
Имя: scooby-d0
(Питер)
Новичок
Новичок
Информация о пользователе

Re: TMR1 в тини2313 и шаговик в ФК

Сообщение mim (mim) » 16 янв 2013, 20:17

Для таймера в 4 версии ФК почитай пост 13680. И вообще - читай больше... и пользуйся поиском. Для 2313 реализованы все таймеры.

ЗЫ есть еще такое понятие как, предзагрузка таймера.
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе

Re: TMR1 в тини2313 и шаговик в ФК

Сообщение Taska (Максим) » 16 янв 2013, 22:06

scooby-d0 писал(а):Поставил прерывание по TMR0 и скайлер на 8, но он 8-ми битный. И с 16 мГц, достаточно трудно выцепить секунду. Тобишь получается 16000000/8/256 = 7812.5 переполнений таймера в секунду. Эту самую половинку переполнения мне и надо убрать.
Если-бы можно было использовать 16-ти битный таймер,то там проще выставить 16000000/256/625 = 100 тиков в секунду. От этого ровного числа уже можно плясать.
Как и можно ли использовать TMR1?

1.Выловить не трудно если использовать предзагрузку таймера, записываешь в предзагрузку число 127 и считаешь прерывания, которых будет в секунду аж 15625.
2.Конечно лучше использовать прерывания от таймера TMR1, для этого ты должен создать прерывание по совпадению(Compare) и получить всего лишь 100 прерываний в секунду.
JPG_Screen.jpg
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: Taska
Имя: Максим
(Кривой Рог)
Легенда
Легенда
Информация о пользователе
Вернуться наверх


Вернуться в ПЕСОЧНИЦА

Кто сейчас на форуме

Пользователь просматривает форум: нет зарегистрированных пользователей