Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Для меня загадка, почему 20кГЦ, а не 40кГц. Ведь время одного периода при 8МГц равен 125нс. Умножаем его на 200 (значение в регистре сравнения) получаем период 25мкс (это 40кГц). Или я что то упускаю при расчетах?
Отправлено
mkru
(213.85.43.154)
27 января 2010, г. 12:21
В ответ на:
От момента совпадения до обнуления счетчика в обработчике прерывания проходит некоторое время. Поэтому 18.18 вместо 20.0 рассчетных. Следует использовать режим Clear Timer on Compare Match (CTC) Mode. Почему я написал 20 а не 40 кГц?
отправлено Владивольт 27 января 2010, г. 11:58
Составить ответ
|
Вернуться на конференцию
Ответы
И ещё -- если есть возможность перенесит желаемый выход на выводы PD0 или PB7, то можно обойтись совсем без прерываний. Подробности в [14.4 Output Compare Unit] даташита.
-
Владивольт
(27.01.2010, 12:42:19
87.228.28.202
,
пустое
)
"получаем период 25мкс" -- не период, а полупериод. Для генерации полного периода по приведенному коду требуется два прерывания.
-
Владивольт
(27.01.2010, 12:39:2
87.228.28.202
,
пустое
)
Вы правы! Это будет полупериод. Остается еще один вопрос, почему, если код функции обработки прерывания дополнить, то скорость на выходе немного изменится? Ведь регистр TCNT0 = 0 обнуляется в обоих случаях в начале функции, тогда и время вызова этой функциии обработки прерывания д.б. одно и то же. В чем же дело?
-
mkru
(27.01.2010, 14:17:14
213.85.43.154
, 508 байт)
"Ведь регистр TCNT0 = 0 обнуляется в обоих случаях в начале функции" -- это на языке C. Во втором случае медленнее, поскольку при входе в обработчик сохраняется больше реистров. Рекомендация: проанализировать листинг.
-
Владивольт
(27.01.2010, 14:23:8
87.228.28.202
,
пустое
)
Вроде проблемы проясняются. Спасибо!
-
mkru
(27.01.2010, 14:41:22
213.85.43.154
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
увеличьте 3 в два раза:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru