STM32 CanBus cannot get out of interrupt handler

Gast #4918516
hello dear forum,

I try to make CANBUS of STM32F103RC work
I managed to make CANBUS send message in loopback mode
however when I turn on receive interrupt
the processor hangs at first message and watchdog resets the micro
---------------------------------------------
 CAN_ITConfig(CAN1, CAN_IT_FMP0, ENABLE);
---------------------------------------------
I suspect the code enters the interrupt handler and cannot leave it
I want to ask how do I fill following lines to reset interupt flag and 
pending bit
---------------------------------------------
void USB_LP_CAN1_RX0_IRQHandler(void)
{
CAN_ClearFlag(CAN1, ??????????);
CAN_ClearITPendingBit(CAN1,??????????);

  CanRxMsg RxMessage;

  CAN_Receive(CAN1, CAN_FIFO0, &RxMessage);
---------------------------------------------
thank you
#4919285
Hey mehmet,

You use neither CAN_ClearFlag nor CAN_ClearITPendingBit. According to 
the reference manual (p. 683) CAN_IT_FMP0 is set and reset by hardware. 
As soon as you call CAN_Receive one message from the RX FIFO is read. 
The interrupt won't be called again, as soon as the FIFO message count 
has reached 0.

Greetings

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.