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

Need example to get CAN running

I have problems to get the CAN controller on my Infineon XC886 CM running. Have someone example code for sending a CAN message via CAN node 0 (CAN RXD Port 1_6, CAN TXD Port 1_7)? I have tryed to use Dave-generated code with the following code in my main-function:

un_32bit canTestObject;

canTestObject.ubDB[0] = 0x77;
canTestObject.ubDB[1] = 0x76;
canTestObject.ubDB[2] = 0x75;
canTestObject.ubDB[3] = 0x74;

CAN_vLoadData(0x00, &canTestObject.ulVal);
CAN_vSetMSGVAL(0x00);
CAN_vTransmit(0x00);

But it only works in the software-simulator (in der Peripherals->MultiCAN->CAN Communication 0 window the sended messages appear) but not on my self-made board (nothing to see with oscilliscope on the MCU-Pins 1_6 and 1_7).

Parents Reply Children
  • "I had a working software and it does not work on my hardware, so I can assume that the problem is the hardware"

    Not necessarily.

    For example, imagine that you simulated something that uses the UART - the simulation works fine, but it doesn't work on your hardware.
    This could be because your software loads an incorrect value for the baud rate divisor - that wouldn't affect the simulation, but would mean that the baud rate would be wrong on the real hardware and, therefore, your serial comms would not work.

    That would be the penultimate one in the list I gave earlier:

    "* The hardware's all good, but your software is not correctly configured for it"