реклама на сайте
подробности

 
 
> Atmel AT91Sam7x512. Неправильная частота прерываний от PIO
Parkan
сообщение May 25 2012, 13:09
Сообщение #1





Группа: Участник
Сообщений: 12
Регистрация: 17-04-12
Пользователь №: 71 418



Мои приветствия, уважаемые форумчане.
У меня следующая проблема: есть некоторое устройство, которое генерит меандр, период которого равен 3,35 мс. Этот сигнал заводится на контакт PIO PB22. Я вешаю задаю прерывание по фронту сигнала и по возникновению оного выполняю некие действия. Так вот, прерывание возникает, субъективно в два раза чаще, чем нужно. Мерил осциллографом входной сигнал - точно меандр с периодом 3,35мс. Вот код инициализации прерывания:

CODE
static const Pin intPin = { 1 << 22, AT91C_BASE_PIOB, AT91C_ID_PIOB, PIO_INPUT, PIO_DEGLITCH };
volatile static unsigned int interruptCounter = 0;
//------------------------------------------------------------------------------

__ramfunc void InterruptHandler1(const Pin *)
{
//volatile unsigned int dummy = 0;
if (1492 == interruptCounter)
{
interruptCounter = 0;
// ...
}
else
{
++interruptCounter;
}

// AT91C_BASE_AIC->AIC_EOICR = 0;
// AT91C_BASE_PIOB->PIO_ISR;
// AT91C_BASE_AIC->AIC_IECR;
}
//------------------------------------------------------------------------------

void InitControlSchema(void)
{
PIO_Configure(&intPin, 1);
PIO_InitializeInterrupts(AT91C_AIC_PRIOR_HIGHEST | AT91C_AIC_SRCTYPE_POSITIVE_EDGE);
PIO_ConfigureIt(&intPin, InterruptHandler1);
PIO_EnableIt(&intPin);
}
//------------------------------------------------------------------------------


Программированием микроконтроллеров занялся недавно, посему, прошу простить, если формулировка вопроса покажется технически неграмотной, а сам вопрос глупым. Буду благодарен за ответ.

Сообщение отредактировал Parkan - May 25 2012, 13:11
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 15:42
Рейтинг@Mail.ru


Страница сгенерированна за 0.01373 секунд с 7
ELECTRONIX ©2004-2016