andrey videoplus 0 15 ноября, 2010 Опубликовано 15 ноября, 2010 · Жалоба Проблема в следующем: формирую импульс длительностью 2 сек. с кварцем 16МГц. Программно ганяю на AVR studio все в порядке В реальном режиме смотрю осцилографом - около 250мс, ставлю кварц на 8 МГц - около 500 мс. Использую mega8515, фьюзы выставил так: млад. 11111111 старш. 11001001. Кто-то может подсказать в где и в чем искать проблему?? Или дайте ссылку где обсуждалось. Заранее спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Cyber_RAT 0 15 ноября, 2010 Опубликовано 15 ноября, 2010 · Жалоба хотя бы код выложите, а то не все телепаты в в этом мире... p.s. (а может при оптимизации ваши паузы выкидываются? , но это гадание на кофейной гуще без кода) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ILYAUL 0 15 ноября, 2010 Опубликовано 15 ноября, 2010 · Жалоба CKDIV8 ?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
arttab 0 16 ноября, 2010 Опубликовано 16 ноября, 2010 · Жалоба если CKDIV8, то длительность вырастит в 8 раз, а не уменьшиться. проверьте настройки симуляции - системную частоту Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 35 16 ноября, 2010 Опубликовано 16 ноября, 2010 · Жалоба Но, тем не менее, 2 сек / 250мс = ровно 8. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
arttab 0 16 ноября, 2010 Опубликовано 16 ноября, 2010 · Жалоба формирую импульс длительностью 2 сек. с кварцем 16МГц смотрю осцилографом - около 250мс, ставлю кварц на 8 МГц - около 500 мс то есть, при включенном делители длительность импульса должна увеличиться в 8 раз. а чтобы она уменьшилась надо поднять частоту тактирования в 8 раз. утро. надо попить кофе :) и все встанет на свои места Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrey videoplus 0 16 ноября, 2010 Опубликовано 16 ноября, 2010 (изменено) · Жалоба Спасибо всем кто откликнулся. Вот эта сволочЪ!!! что самое интересное есть точно такая же, но формирует милисек, (загружает другое число и коэф.деления). Эти места отметил. Но она работает нормально. Осцилографом смотрю - длительность соответствует расчетным. А эта.............. наверно что-то не доучил. Посмотрите, пожалуйста: ----------------------------------------------------------------------------------------- в 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 ------------------------------------------------------------ Есть мысли????? Изменено 16 ноября, 2010 пользователем andrey videoplus Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ILYAUL 0 16 ноября, 2010 Опубликовано 16 ноября, 2010 · Жалоба Есть мысли????? ЕСть, в счётные регистры 16- битных таймеров первым всегда загружается старший байт (high) И ТОЛЬКО ПОТОМ МЛАДШИЙ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrey videoplus 0 16 ноября, 2010 Опубликовано 16 ноября, 2010 · Жалоба ЕСть, в счётные регистры 16- битных таймеров первым всегда загружается старший байт (high) И ТОЛЬКО ПОТОМ МЛАДШИЙ Да, "прошляпил", действительно есть такое в описании. Спасибо))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ILYAUL 0 16 ноября, 2010 Опубликовано 16 ноября, 2010 · Жалоба Да, "прошляпил", действительно есть такое в описании. Спасибо))) Работает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrey videoplus 0 16 ноября, 2010 Опубликовано 16 ноября, 2010 · Жалоба Да, пошло. Вроде не первый год программирую, но....... читать мануал надо всегда!!!!! Только вот что интересно: почему в процедуре по формированию млсек, не было этого явления. Ведь там тоже 16-разрядная константа загружалась........... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ILYAUL 0 16 ноября, 2010 Опубликовано 16 ноября, 2010 · Жалоба Да, пошло. Вроде не первый год программирую, но....... читать мануал надо всегда!!!!! Только вот что интересно: почему в процедуре по формированию млсек, не было этого явления. Ведь там тоже 16-разрядная константа загружалась........... А код? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrey videoplus 0 17 ноября, 2010 Опубликовано 17 ноября, 2010 · Жалоба точно такой же как выставленный выше, только загружались другие константы. Хотя, может на осциллографе недоглядел и поставил мксек вместо млсек и подумал что все нормально. Уже не важно, главное помогли найти причину, спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться