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

CAN driver question ...

Hi,

I am using the RL-ARM provided CAN driver. I have the need to configure receive messages after I started the CAN driver. I use "CAN_rx_object" to configure new receive objects (CAN-controller 2) and this part is working. I noticed that after using "CAN_rx_object" in a running CAN system, the CAN-controller 1 is impacted and generates errors. I have a CANOpen driver handling the traffic on the CAN-controller 1.

Here are my questions:

- Can I use "CAN_rx_object" after I started the CAN controller (the documentation does not provide further information)?

- Why is CAN-controller 1 impacted if CAN-controller 2 is reconfigured?

Thank you - Frank!

Parents
  • Hi Milorad,

    it is the only feasable solution as far as I can tell. The datasheet specifies only one bit to enable hardware identifier filtering. This means that both controllers have to use this feature or both have to use software filtering. In my case I have to use both controllers without acceptance filter.

    - Frank

Reply
  • Hi Milorad,

    it is the only feasable solution as far as I can tell. The datasheet specifies only one bit to enable hardware identifier filtering. This means that both controllers have to use this feature or both have to use software filtering. In my case I have to use both controllers without acceptance filter.

    - Frank

Children
  • If you need filtering on one channel, then you should be able to set up a wild-card filter for the other channel, and run with the AF turned on.

  • Hi Frank,

    if you do not need to use Acceptance filter then it is a better solution that you do not call functions CAN_rx_object as that function switches acceptance filter to be used.
    Function CAN_init initializes acceptance filter as not used.

    There is no point in calling CAN_rx_object function if you are not using hardware filtering (acceptance filter).

    Milorad