Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
"получаем период 25мкс" -- не период, а полупериод. Для генерации полного периода по приведенному коду требуется два прерывания.
Отправлено
Владивольт
(87.228.28.202)
27 января 2010, г. 12:39
В ответ на:
Для меня загадка, почему 20кГЦ, а не 40кГц. Ведь время одного периода при 8МГц равен 125нс. Умножаем его на 200 (значение в регистре сравнения) получаем период 25мкс (это 40кГц). Или я что то упускаю при расчетах?
отправлено mkru 27 января 2010, г. 12:21
Составить ответ
|
Вернуться на конференцию
Ответы
Вы правы! Это будет полупериод. Остается еще один вопрос, почему, если код функции обработки прерывания дополнить, то скорость на выходе немного изменится? Ведь регистр 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 изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 654:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru