16+
Вторник
14 августа
Вход |Карта сайта | |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

ARM-контроллеры

 
   Новая тема Правила Регистрация Поиск »» Архив
Вернуться в конференциюТопик полностью
POV_  (24.01.2018 14:10, просмотров: 8016)
Потратил часов 5 прежде, чем сдаться на милость знатоков - EXTI у stm32f103... 
Пока с нуля проект на АРМ не писал, лишь вносил доработки в уже рабочие. Вот решил-таки на платке китайской побаловаться, вдруг пригодится. Повесил на B12 кнопку.. если программно её опрашивать и зажигать лед, то всё работает. Далее захотел того же, но через прерывания - но нет прерываний. Скачал предлагаемый кукоксом пример, прочитал десяток статей с исходниками "работающих" примеров.. без толку. Вот моя инициализация
    GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource12);
    EXTI_InitStructure.EXTI_Line = EXTI_Line12;
    EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
    EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling;
    EXTI_InitStructure.EXTI_LineCmd = ENABLE;
    EXTI_Init(&EXTI_InitStructure);

    NVIC_Configuration();
void NVIC_Configuration(void)
{
    NVIC_InitTypeDef NVIC_InitStructure;

    // Set the Vector Table base location at 0x08000000
    NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);

    // Configure one bit for preemption priority
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);

    // Enable Interrupt
    NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn;
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStructure);
}
Вот это NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0) убирал, тоже не помогло.
void EXTI15_10_IRQHandler(void)
{
    сюда не попадаю, лед от состояния пина не зависит
}
Предположил, что авторы всех примеров "забыли" разрешить глобальные прерывания - добавил это. Затем дополнительно ручками ещё разрешил прерывание по ноге. Но все равно тишина. Где ж косяк?
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7526 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXVIII