Skip to main content
snavonne
Visitor II
May 5, 2016
Question

STM32 HAL CAN Tx Mailboxes

  • May 5, 2016
  • 1 reply
  • 1235 views
Posted on May 05, 2016 at 23:17

Hi,

I'm working on a project that uses the STM32 HAL drivers, and in particular the CAN driver in interrupt mode. I understand that the STM32F407xx microcontroller has three CAN transmit mailboxes, allowing users to ''enqueue'' three messages for transmission at a time. The HAL CAN driver however seems to return HAL_BUSY when HAL_CAN_Transmit_IT is called rapidly on the second call; taking a look at the source code, it looks like the function doesn't check whether any other mailboxes are empty before setting the handle status to BUSY_TX (even though another mailbox could be used for the following message), preventing a successive call from adding a message to another mailbox.

Am I missing something about the way this driver works? Has anybody run into this in the past? Any thoughts would be appreciated.

Best,

Santiago
    This topic has been closed for replies.

    1 reply

    Walid FTITI_O
    Visitor II
    May 6, 2016
    Posted on May 06, 2016 at 11:58

    Hi navonne.santiago,

    Thanks for the feedback . I will report it internally.

    Regards,

    Walid.