This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Configure CAN filter to accept all messages

Hi All,

Really need help on this one, any suggestions welcome!....

I'm using the CAN bus example program for MCBSTM32C eval board. It has an STM32F107 chip and I am have issues with the CAN Filter....

Does anyone know how to configure the CAN Filter to accept ALL incoming messages?

Thanks

Shane

Parents
  • typedef struct
    {
      uint16_t CAN_FilterIdHigh;         /*!< Specifies the filter identification number (MSBs for a 32-bit
                                                  configuration, first one for a 16-bit configuration).
                                                  This parameter can be a value between 0x0000 and 0xFFFF */
    
      uint16_t CAN_FilterIdLow;          /*!< Specifies the filter identification number (LSBs for a 32-bit
                                                  configuration, second one for a 16-bit configuration).
                                                  This parameter can be a value between 0x0000 and 0xFFFF */
    
      uint16_t CAN_FilterMaskIdHigh;     /*!< Specifies the filter mask number or identification number,
                                                  according to the mode (MSBs for a 32-bit configuration,
                                                  first one for a 16-bit configuration).
                                                  This parameter can be a value between 0x0000 and 0xFFFF */
    
      uint16_t CAN_FilterMaskIdLow;      /*!< Specifies the filter mask number or identification number,
                                                  according to the mode (LSBs for a 32-bit configuration,
                                                  second one for a 16-bit configuration).
                                                  This parameter can be a value between 0x0000 and 0xFFFF */
    
      uint16_t CAN_FilterFIFOAssignment; /*!< Specifies the FIFO (0 or 1) which will be assigned to the filter.
                                                  This parameter can be a value of @ref CAN_filter_FIFO */
    
      uint8_t CAN_FilterNumber;          /*!< Specifies the filter which will be initialized. It ranges from 0 to 13. */
    
      uint8_t CAN_FilterMode;            /*!< Specifies the filter mode to be initialized.
                                                  This parameter can be a value of @ref CAN_filter_mode */
    
      uint8_t CAN_FilterScale;           /*!< Specifies the filter scale.
                                                  This parameter can be a value of @ref CAN_filter_scale */
    
      FunctionalState CAN_FilterActivation; /*!< Enable or disable the filter.
                                                  This parameter can be set either to ENABLE or DISABLE. */
    } CAN_FilterInitTypeDef;
    

Reply
  • typedef struct
    {
      uint16_t CAN_FilterIdHigh;         /*!< Specifies the filter identification number (MSBs for a 32-bit
                                                  configuration, first one for a 16-bit configuration).
                                                  This parameter can be a value between 0x0000 and 0xFFFF */
    
      uint16_t CAN_FilterIdLow;          /*!< Specifies the filter identification number (LSBs for a 32-bit
                                                  configuration, second one for a 16-bit configuration).
                                                  This parameter can be a value between 0x0000 and 0xFFFF */
    
      uint16_t CAN_FilterMaskIdHigh;     /*!< Specifies the filter mask number or identification number,
                                                  according to the mode (MSBs for a 32-bit configuration,
                                                  first one for a 16-bit configuration).
                                                  This parameter can be a value between 0x0000 and 0xFFFF */
    
      uint16_t CAN_FilterMaskIdLow;      /*!< Specifies the filter mask number or identification number,
                                                  according to the mode (LSBs for a 32-bit configuration,
                                                  second one for a 16-bit configuration).
                                                  This parameter can be a value between 0x0000 and 0xFFFF */
    
      uint16_t CAN_FilterFIFOAssignment; /*!< Specifies the FIFO (0 or 1) which will be assigned to the filter.
                                                  This parameter can be a value of @ref CAN_filter_FIFO */
    
      uint8_t CAN_FilterNumber;          /*!< Specifies the filter which will be initialized. It ranges from 0 to 13. */
    
      uint8_t CAN_FilterMode;            /*!< Specifies the filter mode to be initialized.
                                                  This parameter can be a value of @ref CAN_filter_mode */
    
      uint8_t CAN_FilterScale;           /*!< Specifies the filter scale.
                                                  This parameter can be a value of @ref CAN_filter_scale */
    
      FunctionalState CAN_FilterActivation; /*!< Enable or disable the filter.
                                                  This parameter can be set either to ENABLE or DISABLE. */
    } CAN_FilterInitTypeDef;
    

Children