Чт окт 11, 2012 23:14:40
Пт окт 12, 2012 07:27:02
Пт окт 12, 2012 07:35:33
Пт окт 12, 2012 07:55:36
Пт окт 12, 2012 10:06:25
BOB51 писал(а):Для начала схемку и полный код на посмотреть надобно
Пт окт 12, 2012 10:14:03
ploop писал(а):mill, даже если учесть, что вы нигде не ошиблись в коде (хотя в этом нельзя быть уверенным никогда), вы уверены, что на линии нет звона? Посмотрите, как выглядит прямоугольный импульс при длине дорожки 3 сантиметра. Если провод длиннее, всплески будут больше, и вполне способны дотянуть до единицы.
Попробуйте завести сигнал через резистор в несколько килоом.
Пт окт 12, 2012 10:19:04
akl писал(а):Здравствуйте. Я, конечно, не Ди, но может попробовать подсчитать "некоторое время". У меня получается, что при тактировании "меги по дефолту 1Мгц" и входном сигнале с периодом 25мкс (40кГц) ни о каких "сотнях тактов" говорить нельзя. Может попробовать провести лог состояния PIND2 без обработчика прерывания INT0, вход в который занимает 4мкс.
Пт окт 12, 2012 11:23:50
mill писал(а):Все верно самые короткие импульсы около 25 тактов а длинные - сотни и тысчи даже!
А в чем смысл лог без прерывания? Массив быстро забьется и все!
Можно попробовать тогда мегу ускорить до 8Мгц если вы предполагаете что за 4 такт устройство успевает импульс поменять!
Вызов прерываний по любому перепаду сделан намеренно или это ошибка?mill писал(а):mcucr=0b00000001
Пт окт 12, 2012 11:30:10
akl писал(а):mill писал(а):Все верно самые короткие импульсы около 25 тактов а длинные - сотни и тысчи даже!
А в чем смысл лог без прерывания? Массив быстро забьется и все!
Можно попробовать тогда мегу ускорить до 8Мгц если вы предполагаете что за 4 такт устройство успевает импульс поменять!
Ничего я не предполагаю. Знаю, что "чудес с прерываниями Мега8515" не бывает. Меряет длительности и периоды и покруче Ваших требований.
Вам нужно определиться "кто виновато и чё делать". Можно вообще отсоединить устройство от контроллера и провести лог на предмет ложных срабатываний. Можно вместо устройства подключить меандр 1кГц и выяснить есть ли ложные срабатывания в течение 500мкс длительности высокого уровня, затем в течение 500мкс длительности низкого уровня.Вызов прерываний по любому перепаду сделан намеренно или это ошибка?mill писал(а):mcucr=0b00000001
Пт окт 12, 2012 11:36:29
Пт окт 12, 2012 11:51:06
Пт окт 12, 2012 11:53:45
akl писал(а):Звуковая есть? Загрузите программу и получите, конечно, не эталонный, но вполне пригодный синус. Через резистор 1кОм подаете прямо на вход PD2/INT0.
Пт окт 12, 2012 20:57:08