Например TDA7294

Форум РадиоКот • Просмотр темы - Странное поведение пина в прерывании
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 24, 2024 19:15:24

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Странное поведение пина в прерывании
СообщениеДобавлено: Чт янв 12, 2017 08:29:04 
Сверлит текстолит когтями
Аватар пользователя

Карма: 15
Рейтинг сообщений: 210
Зарегистрирован: Вт мар 31, 2015 22:56:07
Сообщений: 1272
Откуда: Мы люди простые, живем в лесу, на пенек молимся
Рейтинг сообщения: 0
Столкнулся со странным эффектом. Должен выдаваться импульс 1 мкс с периодом 1 мс, вместо этого выдается меандр с периодом 2 мс. Никто не сталкивался с подобным поведением МК?

Модель ATmega328P

В чем может быть причина?

Код:
program T_2;

var
  ButtonSelect : sbit at PIND2_bit;
  ButtonSelect_Direction : sbit at DDD2_bit;

begin
  ButtonSelect_Direction := 1;
  ButtonSelect := 0;
  InitTimer0;
  while TRUE do ;
end.


Код:
unit Dispatch;

var
  ButtonSelect : sbit; external; sfr; volatile;
  ButtonSelect_Direction : sbit; external; sfr;
 
procedure InitTimer0;

implementation

procedure InitTimer0;
begin
  SREG_I_bit := 1;
  OCR0A := 172;
  TCCR0A := 0x00;
  TCCR0B := 0x03;
  TCNT0 := 0;
  OCIE0A_bit := 1;
end;

procedure Pulse;
begin
  ButtonSelect := 1;
  Delay_us(1);
  ButtonSelect := 0;
end;

procedure Ticker1ms_Handler_Dispatcher; org IVT_ADDR_TIMER0_COMPA;
begin
  TCNT0 := 0;
  Pulse;
end;

end.


Изображение

_________________
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Странное поведение пина в прерывании
СообщениеДобавлено: Чт янв 12, 2017 08:53:08 
Друг Кота
Аватар пользователя

Карма: 49
Рейтинг сообщений: 390
Зарегистрирован: Вс июл 12, 2009 19:15:29
Сообщений: 7010
Откуда: Ижевск
Рейтинг сообщения: 0
С вашими параметрами в CVAVR и протеусе:
Изображение
Отсюда вывод: дополнить утверждение
Цитата:
подобным поведением МК
словом эмулируемого.
+ я в модели поставил Fтакт= 20 МГц.

_________________
Docendo discimus


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Странное поведение пина в прерывании
СообщениеДобавлено: Чт янв 12, 2017 09:01:21 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Почему не используете аппаратный ШИМ?

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Странное поведение пина в прерывании
СообщениеДобавлено: Чт янв 12, 2017 09:32:26 
Сверлит текстолит когтями
Аватар пользователя

Карма: 15
Рейтинг сообщений: 210
Зарегистрирован: Вт мар 31, 2015 22:56:07
Сообщений: 1272
Откуда: Мы люди простые, живем в лесу, на пенек молимся
Рейтинг сообщения: 0
Z_h_e писал(а):
Почему не используете аппаратный ШИМ?

Потому, что это не имеет отношения к ШИМ. Нужно было посмотреть длительности выполнения процедур – решил использовать короткие импульсы-маркеры. Наткнулся на меандр вместо иголок.

Добавлено after 1 minute 43 seconds:
pyzhman писал(а):
С вашими параметрами в CVAVR и протеусе:
Отсюда вывод: дополнить утверждение
Цитата:
подобным поведением МК
словом эмулируемого.
+ я в модели поставил Fтакт= 20 МГц.

Вы излишне самоуверенны.
Никакой эмуляции тут нет, это реальное поведение.
Снято логическим анализатором.

_________________
Изображение


Последний раз редактировалось trengtor Чт янв 12, 2017 09:36:23, всего редактировалось 1 раз.

Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Странное поведение пина в прерывании
СообщениеДобавлено: Чт янв 12, 2017 09:36:10 
Друг Кота
Аватар пользователя

Карма: 49
Рейтинг сообщений: 390
Зарегистрирован: Вс июл 12, 2009 19:15:29
Сообщений: 7010
Откуда: Ижевск
Рейтинг сообщения: 2
Не силён в паскале, но может быть засада в этом:
Код:
ButtonSelect : sbit at PIND2_bit;
?
Может быть нужно PORTD2_bit?

_________________
Docendo discimus


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Странное поведение пина в прерывании
СообщениеДобавлено: Чт янв 12, 2017 09:40:35 
Сверлит текстолит когтями
Аватар пользователя

Карма: 15
Рейтинг сообщений: 210
Зарегистрирован: Вт мар 31, 2015 22:56:07
Сообщений: 1272
Откуда: Мы люди простые, живем в лесу, на пенек молимся
Рейтинг сообщения: 0
pyzhman писал(а):
Не силён в паскале, но может быть засада в этом:
Код:
ButtonSelect : sbit at PIND2_bit;
?
Может быть нужно PORTD2_bit?

Вы абсолютно правы. Спасибо!
Надо будет прочитать, в чем тут разница.

_________________
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Странное поведение пина в прерывании
СообщениеДобавлено: Чт янв 12, 2017 09:43:37 
Друг Кота
Аватар пользователя

Карма: 49
Рейтинг сообщений: 390
Зарегистрирован: Вс июл 12, 2009 19:15:29
Сообщений: 7010
Откуда: Ижевск
Рейтинг сообщения: 2
PIN в более поздних версиях мк AVR инвертирует лапку.

_________________
Docendo discimus


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Странное поведение пина в прерывании
СообщениеДобавлено: Чт янв 12, 2017 09:45:12 
Сверлит текстолит когтями
Аватар пользователя

Карма: 15
Рейтинг сообщений: 210
Зарегистрирован: Вт мар 31, 2015 22:56:07
Сообщений: 1272
Откуда: Мы люди простые, живем в лесу, на пенек молимся
Рейтинг сообщения: 0
pyzhman писал(а):
PIN в более поздних версиях мк AVR инвертирует лапку.

Спасибо, буду знать.

_________________
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Странное поведение пина в прерывании
СообщениеДобавлено: Чт янв 12, 2017 09:45:33 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2694
Откуда: г. Чайковский
Рейтинг сообщения: 2
Медали: 1
Получил миской по аватаре (1)
Основное назначение порта PIN считывать состояние порта. В некоторых МК, в том числе в 328 ом, запись 1 в PIN , дает инвертирование соответствующего PORT

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Странное поведение пина в прерывании
СообщениеДобавлено: Чт янв 12, 2017 09:46:21 
Сверлит текстолит когтями
Аватар пользователя

Карма: 15
Рейтинг сообщений: 210
Зарегистрирован: Вт мар 31, 2015 22:56:07
Сообщений: 1272
Откуда: Мы люди простые, живем в лесу, на пенек молимся
Рейтинг сообщения: 0
Z_h_e писал(а):
Основное назначение порта PIN считывать состояние порта. В некоторых МК, в том числе в 328 ом, запись 1 в PIN , дает инвертирование соответствующего PORT

Нюансики. Спасибо!

_________________
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Странное поведение пина в прерывании
СообщениеДобавлено: Чт янв 12, 2017 10:15:46 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4221
Откуда: Ижевск
Рейтинг сообщения: 2
Цитата:
Toggling the Pin
Writing a logic one to PINxn toggles the value of PORTxn, independent on the value of DDRxn.
Note that the SBI instruction can be used to toggle one single bit in a port.
Лучше всё равно справляться в DS, т.к. не все современные камни AVR имеют такую возможность. Например, ATmega64A


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 40


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y