06.07.2014, 19:17
|
|
Гражданин KAZUS.RU
Регистрация: 01.09.2007
Сообщений: 898
Сказал спасибо: 278
Сказали Спасибо 57 раз(а) в 54 сообщении(ях)
|
EXITI STM32f415
Доброго дня.
Что то не могу запустить прерывания. хотя раньше запускал.... Опять что то забыл..... Или глаза замылились....
Код:
|
инициализация порта.
RCC-›AHB1ENR |=RCC_AHB1ENR_GPIOAEN ;
GPIOA -›MODER|=
GPIO_MODER_MODER2 ; // Порт на вход
GPIOA-›OSPEEDR |= // Выставляем скорость порта
GPIO_OSPEEDER_OSPEEDR2_1 ;
GPIOA-›OTYPER //двухтактный или открытый сток
&=~ GPIO_OTYPER_OT_2 ; //Выставляем двух тактный &=~
GPIOA-›PUPDR //Подтяжка
&=~ GPIO_PUPDR_PUPDR2 ; //Подтяжка отключаем
инициализация прерывания
fptrGpio2 = isr;
RCC-›APB2ENR |= RCC_APB2ENR_SYSCFGEN;
SYSCFG-›EXTICR[0] = SYSCFG_EXTICR1_EXTI2_PA;
EXTI-›IMR |= EXTI_IMR_MR2;
EXTI-›FTSR |= (1‹‹2);//падение
EXTI-›RTSR &= ~ (1‹‹2);//|= (1‹‹2);//возрастание
NVIC_SetPriority(EXTI2_IRQn, 9);
NVIC_EnableIRQ (EXTI2_IRQn);
__enable_irq(); // глобальное включение прерывания
Сам обработчик
void EXTI2_IRQHandler ()
{
Сюдаа не попадаем.
Led_Red_On;
//Delay_mS_(100);
if (EXTI-›PR & (1‹‹2)) // Прерывание от EXTI4?
{ EXTI-›PR |= (1‹‹2); // Сбросить флаг EXTI4.
if (fptrGpio2 != 0)
{
(*fptrGpio2)();
}
}
} |
Может кто быстро заметит ошибку. ???
За ранее спасибо.
|
|
|
|
06.07.2014, 23:25
|
|
Гражданин KAZUS.RU
Регистрация: 01.09.2007
Сообщений: 898
Сказал спасибо: 278
Сказали Спасибо 57 раз(а) в 54 сообщении(ях)
|
Re: EXITI STM32f415
Такая конструкция тоже не работает...
Код:
|
if(GPIOA-›IDR & 0x2)//если
{
Led_Yel_On;
}else
{
Led_Yel_Off;
} |
В майне в цикле запускаю.... Не пашет....
|
|
|
|
07.07.2014, 05:52
|
|
Гражданин KAZUS.RU
Регистрация: 25.11.2010
Сообщений: 516
Сказал спасибо: 1
Сказали Спасибо 126 раз(а) в 109 сообщении(ях)
|
Re: EXITI STM32f415
лампочку то включил? "C" names объявил? где весь проект?
|
|
|
|
08.07.2014, 14:11
|
|
Гражданин KAZUS.RU
Регистрация: 01.09.2007
Сообщений: 898
Сказал спасибо: 278
Сказали Спасибо 57 раз(а) в 54 сообщении(ях)
|
Re: EXITI STM32f415
Сообщение от Hives
|
лампочку то включил? "C" names объявил? где весь проект?
|
"C" names ..... Проект бы не компилировался..... Лампочка так загорается если просто в майне поставить.....
Проект великоват чтоб выложить и много разных инклудов.....
Но вот почему порт не могу считать......
Последний раз редактировалось bass1981; 08.07.2014 в 14:41.
|
|
|
|
08.07.2014, 14:49
|
|
Гражданин KAZUS.RU
Регистрация: 25.11.2010
Сообщений: 516
Сказал спасибо: 1
Сказали Спасибо 126 раз(а) в 109 сообщении(ях)
|
Re: EXITI STM32f415
1. еще как бы компилировался. только не работал бы.
2. майн+инит+прерывания = большооооой проект, однако ![Улыбка](images/smilies/icon_smile.gif)
удачи.
|
|
|
|
08.07.2014, 18:26
|
|
Гражданин KAZUS.RU
Регистрация: 01.09.2007
Сообщений: 898
Сказал спасибо: 278
Сказали Спасибо 57 раз(а) в 54 сообщении(ях)
|
Re: EXITI STM32f415
Сообщение от Hives
|
1. еще как бы компилировался. только не работал бы.
2. майн+инит+прерывания = большооооой проект, однако ![Улыбка](images/smilies/icon_smile.gif)
удачи.
|
Ну листиков так 10 при инклужено самописных..... Поэтому не выкладываю код..... Мне интересно было, нет ли ошибки в этом куске кода... Спасибо за хорошие пожелания....
Может на данном порту инициализирована кака то ф-я по умолчанию.....
Последний раз редактировалось bass1981; 08.07.2014 в 18:43.
|
|
|
|
08.07.2014, 19:00
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: EXITI STM32f415
Выложи минимальный глючный проект.
Завтра будет время протестирую, но на F4 дискаверине ...
__________________
Осторожно , злой кот
|
|
|
|
09.07.2014, 20:50
|
|
Гражданин KAZUS.RU
Регистрация: 01.09.2007
Сообщений: 898
Сказал спасибо: 278
Сказали Спасибо 57 раз(а) в 54 сообщении(ях)
|
Re: EXITI STM32f415
Как раз этим и занимался......
Пробовал на двух МК...
|
|
|
|
11.07.2014, 18:51
|
|
Гражданин KAZUS.RU
Регистрация: 01.09.2007
Сообщений: 898
Сказал спасибо: 278
Сказали Спасибо 57 раз(а) в 54 сообщении(ях)
|
Re: EXITI STM32f415
А не может выгореть по каким то обстоятельствам порт или порты..... Перекидывал на порт С такая же канитель на двух МК.... ![Бьюсь об стену](images/smilies/icon_obstenu.gif) До этого работала данная инициализация..... Может из-за того что что порт при инициализации в подвешенном состоянии (не на - не на плюс не подключен).... ???
Последний раз редактировалось bass1981; 11.07.2014 в 19:58.
|
|
|
|
14.07.2014, 18:22
|
|
Гражданин KAZUS.RU
Регистрация: 01.09.2007
Сообщений: 898
Сказал спасибо: 278
Сказали Спасибо 57 раз(а) в 54 сообщении(ях)
|
Re: EXITI STM32f415
Нашел где я наколхозил....
Код:
|
GPIOA -›MODER &=~ !!!!!
GPIO_MODER_MODER2 ; // Порт на вход |
И проверять по битовой маске надо....
Код:
|
if(GPIOA-›IDR & (1‹‹2))//если |
Дело было не в бабине..... Спасибо кто откликнулся..
Последний раз редактировалось bass1981; 14.07.2014 в 19:15.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 11:41.
|
|