Перейти к содержанию
    

формирование импульса, время отличается от расчетного

Проблема в следующем: формирую импульс длительностью 2 сек. с кварцем 16МГц. Программно ганяю на AVR studio все в порядке

В реальном режиме смотрю осцилографом - около 250мс, ставлю кварц на 8 МГц - около 500 мс.

Использую mega8515, фьюзы выставил так: млад. 11111111 старш. 11001001.

 

Кто-то может подсказать в где и в чем искать проблему?? Или дайте ссылку где обсуждалось.

Заранее спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

хотя бы код выложите, а то не все телепаты в в этом мире...

 

p.s. (а может при оптимизации ваши паузы выкидываются? , но это гадание на кофейной гуще без кода)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если CKDIV8, то длительность вырастит в 8 раз, а не уменьшиться.

 

проверьте настройки симуляции - системную частоту

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

формирую импульс длительностью 2 сек. с кварцем 16МГц

 

смотрю осцилографом - около 250мс, ставлю кварц на 8 МГц - около 500 мс

 

то есть, при включенном делители длительность импульса должна увеличиться в 8 раз. а чтобы она уменьшилась надо поднять частоту тактирования в 8 раз.

 

утро. надо попить кофе :) и все встанет на свои места

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо всем кто откликнулся.

Вот эта сволочЪ!!! что самое интересное есть точно такая же, но формирует милисек, (загружает другое число и коэф.деления). Эти места отметил. Но она работает нормально. Осцилографом смотрю - длительность соответствует расчетным.

А эта.............. наверно что-то не доучил. Посмотрите, пожалуйста:

-----------------------------------------------------------------------------------------

в work загружаю кол.секунд для задержки, потом вызываю эту процедуру:

delay_s:

del_t_s1:

;------- установка таймера -------

ldi work3,$80

out TIMSK,work3

ldi work3,low(t_s) ----------- отличие вот здесь!!!!!!!!!!

out TCNT1L,work3

ldi work3,high(t_s) ----------- вот здесь!!!!!!!!!!

out TCNT1H,work3

;------- запуск ----------

ldi work3,$05 ----------- и вот здесь!!!!!!!!!!

out TCCR1B,work3

del_t_s2:

sbrs flag,fl_tim ---- жду флаг таймера

rjmp del_t_s2

cbr flag,fl_tim+1

dec work

brne del_t_s1

;------ остановка таймера

ldi work3,0

out TCCR1B,work3

ret

------------------------------------------------------------

Есть мысли?????

Изменено пользователем andrey videoplus

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть мысли?????

ЕСть, в счётные регистры 16- битных таймеров первым всегда загружается старший байт (high) И ТОЛЬКО ПОТОМ МЛАДШИЙ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ЕСть, в счётные регистры 16- битных таймеров первым всегда загружается старший байт (high) И ТОЛЬКО ПОТОМ МЛАДШИЙ

 

Да, "прошляпил", действительно есть такое в описании. Спасибо)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, "прошляпил", действительно есть такое в описании. Спасибо)))

Работает?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, пошло. Вроде не первый год программирую, но....... читать мануал надо всегда!!!!!

 

Только вот что интересно: почему в процедуре по формированию млсек, не было этого явления. Ведь там тоже 16-разрядная константа загружалась...........

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, пошло. Вроде не первый год программирую, но....... читать мануал надо всегда!!!!!

 

Только вот что интересно: почему в процедуре по формированию млсек, не было этого явления. Ведь там тоже 16-разрядная константа загружалась...........

А код?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

точно такой же как выставленный выше, только загружались другие константы.

Хотя, может на осциллографе недоглядел и поставил мксек вместо млсек и подумал что все нормально.

Уже не важно, главное помогли найти причину, спасибо.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...