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

 
 
> Поомгите с прерыванияи
batisto4ka
сообщение Jan 18 2012, 14:59
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 89
Регистрация: 3-01-11
Пользователь №: 61 997



Подскажите, пожалуйста, как сделать внешние перрывания по 0 на входе?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 6)
GetSmart
сообщение Jan 18 2012, 15:10
Сообщение #2


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Вы бы хоть проц указали, с которым работаете.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
sparcmaster
сообщение Jan 19 2012, 04:26
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 93
Регистрация: 13-01-12
Из: Гатчина
Пользователь №: 69 333



Цитата(batisto4ka @ Jan 18 2012, 18:59) *
Подскажите, пожалуйста, как сделать внешние перрывания по 0 на входе?

Для какого микроконтроллера и в каком компиляторе?
Go to the top of the page
 
+Quote Post
batisto4ka
сообщение Jan 19 2012, 06:17
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 89
Регистрация: 3-01-11
Пользователь №: 61 997



Цитата(sparcmaster @ Jan 19 2012, 07:26) *
Для какого микроконтроллера и в каком компиляторе?

Простите, stm32f103vet, Keil
Go to the top of the page
 
+Quote Post
sparcmaster
сообщение Jan 19 2012, 06:40
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 93
Регистрация: 13-01-12
Из: Гатчина
Пользователь №: 69 333



Цитата(batisto4ka @ Jan 19 2012, 10:17) *
Простите, stm32f103vet, Keil

Тогда все просто, с Кейлом идут примеры же, посмотрите такой проет - Keil\ARM\Boards\Keil\MCBSTM32\EXTI
Если что-то не понятно конкретно спрашивайте.

Сообщение отредактировал sparcmaster - Jan 19 2012, 06:40
Go to the top of the page
 
+Quote Post
batisto4ka
сообщение Jan 24 2012, 06:22
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 89
Регистрация: 3-01-11
Пользователь №: 61 997



Цитата(sparcmaster @ Jan 19 2012, 09:40) *
Тогда все просто, с Кейлом идут примеры же, посмотрите такой проет - Keil\ARM\Boards\Keil\MCBSTM32\EXTI
Если что-то не понятно конкретно спрашивайте.

не понятно одно, вроде получилось натсроить перрывания. Пытаюсь подсчитать частоту сигналов на входе. Но активным уровнем является 0. Но их частота получается меньше в 2 раза, чем показывает мультиметр.
Код
void EXTI9_5_IRQHandler(void)
{
static uint16_t a;

  if (EXTI->PR&(1<<7)) // Прерывание от EXTI7?
      {
       EXTI->PR|=(1<<7);
       if (!(GPIOC->IDR&GPIO_IDR_IDR7))    
               a++;
            else if (a)
                    {
                     a=0;
                     SSQuantity++;
                    }
      }
}
void InitSpeedSensorTmr    (TIM_TypeDef* TIM,unsigned short delay)
{
TIM_TimeBaseInitTypeDef     Tim_InitStruct;
Tim_InitStruct.TIM_ClockDivision=TIM_CKD_DIV1;
Tim_InitStruct.TIM_CounterMode=TIM_CounterMode_Up;
Tim_InitStruct.TIM_Period=delay;         //     delay on 1.5 symb=750, 3.5 symb=1750 mks for speed under 19200,
Tim_InitStruct.TIM_Prescaler=35999;     //36MHz/(35999+1)=1000
TIM_TimeBaseInit(TIM,&Tim_InitStruct);

SpeedSensorTmrOn();
}
void    TIM5_IRQHandler    (void) // если сработало прерывание на 1 sec
{
if    (TIM_GetITStatus(TIM5,TIM_IT_Update))
    {
    TIM_ClearITPendingBit(SSTIMER,TIM_IT_Update);          //
    SpeedSensorTmrOff();
    if (SSQuantity)
        {
         SSFreq=SSQuantity/1;
         HoldingRegister[SS_FREQ_CURRENT]=SSFreq;
         GetAutoSpeed();
         SSQuantity=0;
        }
        else SSFreq=0;    
    SpeedSensorTmrOn();
    }
}


Нога, на которую подается частота - PC.7. Камень stm32f103vet.
Go to the top of the page
 
+Quote Post
Schulz_K
сообщение Jan 25 2012, 07:37
Сообщение #7


Участник
*

Группа: Свой
Сообщений: 63
Регистрация: 25-05-10
Из: Киев
Пользователь №: 57 515



А как у вас настроено прерывание EXTI7 ? Там если включить одновременно прерывание по rising trigger и по falling trigger - то на один импульс у вас и получится 2 прерывания.
Go to the top of the page
 
+Quote Post

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

 


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


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