externer Interrupt F103 Cortex M3

OP #2689790
Lesenswert?

Hallo,

hier habe ich ein Beispiel für den Cortex M3 F103.

Hier wird auf einen externen Interrupt an Pin 0 reagiert. Ich benötige 
aber Pin 11 an Port B.


GPIO_InitTypeDef GPIO_InitStructure;
EXTI_InitTypeDef EXTI_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_In_Floating;
GPIO_Init(GPIOB,&GPIO_Init_Structure);

GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource0);

EXTI_InitStructure.EXTI_Line = EXTI_Line0
EXTI_InitStructure.EXTI_Mode_Interupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);

NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);


Was muss ich denn da genau verändern, dass der Interrupt an Port B Pin 
11 abgegriffen wird?
Gast #2689821
Lesenswert?

1
GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource11);              EXTI_InitStruct.EXTI_Line    = EXTI_Line11;   
2
EXTI_InitStructure.EXTI_Mode_Interupt;
3
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
4
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
5
EXTI_Init(&EXTI_InitStructure);
6

7
  NVIC_InitStruct.NVIC_IRQChannel = EXTI15_10_IRQn;  //Kanal NVIC -> Vektortabelle
8
  NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 2; //Hauptprioritaet
9
  NVIC_InitStruct.NVIC_IRQChannelSubPriority = 1;  //Subprioritaet
10
  NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE;    //Aktivieren
11
  NVIC_Init(&NVIC_InitStruct);  //Initialisierung des NVIC-Controllers 
12

13

14

15
void EXTI15_10_IRQHandler(void)
16
{
17
   if(EXTI_GetITStatus(EXTI_Line11) != RESET) //EXTI_Line 11 hat ausgelöst
18
    EXTI_ClearITPendingBit(EXTI_Line11);
19
  }                                  
20

21

22
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren