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

 
 
> STM32F100RBT6B +iar+обработчик прерываний, Как его написать???
Kalyan
сообщение Jan 18 2012, 22:55
Сообщение #1


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

Группа: Свой
Сообщений: 108
Регистрация: 4-11-10
Пользователь №: 60 656



Добрый вечер! Использую iar for arm играюсь с отладочной платой STM32VLDISCOVERY. Не знаю как написать обработчик прерываний. Я не использую ни каких там библиотек периферии и прочих наворотов. Подключил iostm32f100xB.h и пишу себе. Хочу использовать внешнее прерывание от int0. В файле iostm32f100xB.h нашел номер вектора
#define NVIC_EXTI0 22 /* EXTI Line0 interrupt.
Обработчик пытался написать во так:
#pragma vector=NVIC_EXTI0
__interrupt void event_ (void)
{}
Не работает.
Подскажите кто знает...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Kalyan
сообщение Jan 21 2012, 21:55
Сообщение #2


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

Группа: Свой
Сообщений: 108
Регистрация: 4-11-10
Пользователь №: 60 656



Ну не работает и все! Подскажите в чем дело!
Уже использую библиотеку CMSIS.
Вот код:

#include <stm32f10x.h>

int main()
{
RCC->APB2ENR|=(RCC_APB2ENR_IOPCEN|RCC_APB2ENR_IOPAEN); //подали тактирование на порт А и С

GPIOC->CRH|=(GPIO_CRH_MODE8_1|GPIO_CRH_MODE9_1); //настроил РС9, РС8 как выводы с ограниченой скоростью 2МГц
GPIOC->CRH&=~(GPIO_CRH_MODE8_0|GPIO_CRH_MODE9_0|GPIO_CRH_CNF9|GPIO_CRH_CNF8);

GPIOA->CRL&=~(GPIO_CRL_MODE0|GPIO_CRL_CNF0_1); //настроил А0 как плавающий вход
GPIOA->CRL|=GPIO_CRL_CNF0_0;

RCC->APB2ENR|=RCC_APB2ENR_AFIOEN; //включили тактирование альтернативных функций

AFIO->EXTICR[0]&=~AFIO_EXTICR1_EXTI0_PA; //EXTI0 на порт А

EXTI->IMR|=EXTI_IMR_MR0; //На нулевой ножке
EXTI->RTSR|=EXTI_RTSR_TR0; //по фронту

NVIC_EnableIRQ (EXTI0_IRQn); //включить прерывание

__enable_irq(); //глобально разрешить прерывания

while(1)
{
//полезные действия
}
}

void EXTI0_IRQHandler(void)
{
flag^=1;
EXTI->PR|=EXTI_PR_PR0 ; //очистить флаг прерывания
}

Обработчик прерывания находится в main.c.
При нажатии на кнопку программа зависает. Если посмотреть в дизасемблер то прога постоянно крутится в таких метках
Прикрепленное изображение
Go to the top of the page
 
+Quote Post



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

 


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


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