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

 
 
> Висяк=Прерывыние+STM32, STM32 просто уходит в космос
drapoz
сообщение Feb 24 2013, 21:47
Сообщение #1





Группа: Участник
Сообщений: 13
Регистрация: 21-02-13
Из: Полтава
Пользователь №: 75 738



Привет народ нуждаюсь в вашей помощи, проблема с прерываниями на stm32 . Суть проблемы в следующем, когда осуществляться прерывание будь то RXNE или по нажатию кнопочки то в отладчике ,а это IAR, код выбрасывает в BusFault_Handler и тут полный висяк. Подскажите в чем проблема где я делаю ошибку ? В настройках компилятора в StdPeriph_Lib или в самом коде. Програмирую в IAR с StdPeriph_Lib ,а код мой вот:
CODE
#include "stm32f10x.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"
int main() {
GPIO_InitTypeDef PORT;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB , ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC , ENABLE);

RCC_APB2PeriphClockCmd(RCC_APB2ENR_AFIOEN , ENABLE);
PORT.GPIO_Pin = (GPIO_Pin_9 | GPIO_Pin_8);
PORT.GPIO_Mode = GPIO_Mode_Out_PP;
PORT.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOC, &PORT);

AFIO->EXTICR[0]|=AFIO_EXTICR1_EXTI1_PB;
//Прерывания от нулевой и первой ноги разрешены
EXTI->IMR|=(EXTI_IMR_MR0 | EXTI_IMR_MR1);
//Прерывания на обоих ногах по нарастающему фронту
EXTI->RTSR|=(EXTI_RTSR_TR0 | EXTI_RTSR_TR1);
//Разрешаем оба прерывания
NVIC_EnableIRQ (EXTI0_IRQn);
NVIC_EnableIRQ (EXTI1_IRQn);
while(1)
{

}
}

void EXTI0_IRQHandler(void)
{
GPIOC->ODR^=GPIO_Pin_8;
EXTI->PR|=0x01;
}

void EXTI1_IRQHandler(void)
{
GPIOC->ODR^=GPIO_Pin_9;
EXTI->PR|=0x02;
}

Огромное спасибо.

Пардон народ разобрался тема снята и закрыта спасибо. Проблема была в настройках компилятора, не указал путь
$PROJ_DIR$\CM3\STM32F10x\startup\iar\. Все работает

Сообщение отредактировал IgorKossak - Feb 25 2013, 09:56
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!
Go to the top of the page
 
+Quote Post



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

 


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


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