Danke für die Hilfe.
Hatte jedoch vorher schon das hier definiert
1 | extern "C" void DMA2_Channel4_5_IRQHandler()
|
2 | {
|
3 |
|
4 | }
|
und habs nun auf das hier angepasst und direkt vor die main gegeben
1 | void DMA2_Channel4_5_IRQHandler(void)
|
2 | {
|
3 | if(DMA_GetITStatus(DMA2_IT_HT4))
|
4 | {
|
5 | DMA_ClearITPendingBit(DMA2_IT_GL4); //clear all the interrupts
|
6 | }
|
7 | if(DMA_GetITStatus(DMA2_IT_HT5))
|
8 | {
|
9 | DMA_ClearITPendingBit(DMA2_IT_GL5); //clear all the interrupts
|
10 | }
|
11 | }
|
er geht jedoch immer noch in den Standard interrupt handler. Nachdem im
Standard ja jede menge interrupts auf den gleichen Handler gehen, kann
es denk ich sein dass das gar nicht der interrupt ist den ich suche.
Einen Tipp wie ich herausfinden kann welcher interrupt ausgelöst wurde?
Verwende die Keil MDK und einen STLink v2.
#UPDATE
Das hat man davon wenn man sich das ganze aus codebeispielen zusammen
sucht. Folgender Handler hatte gefehlt (auch in den beispielen von st
..)
1 | extern "C" void TIM2_IRQHandler()
|
2 | {
|
3 | if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET)
|
4 | {
|
5 | TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
|
6 | }
|
7 | }
|
Es würde mich jedoch trotzdem interessieren, nachdem ich mich ja in
diesen Bereich für ein paar private Projekte einarbeite, was der beste
weg ist in so einem Fall herauszufinden was für ein Interrupt ausgelöst
wurde.