Hello, I am working on the XC167 and I have a little problem with CAN node B. My program already works well for CAN node A, he receives something with Vector CANanalyzer. So I just took the same registers with the same values to configure the node B in CAN.c, and I put the bit "Node" from CAN_MSGCFGL1 to 1. I configure others ports for node B: ALTSEL0P4 |= 0x0080; DP4 |= 0x0080; DP4 is also too in Main.c I start the two CAN nodes at the end of CAN initialisation. CAN_PISEL = 0x0000; because I use P4.4 as input. I don't touch to the baudrate of CANanalyzer sended message, but I have "error frame" for this node B (and not for node A). I tried to have a look on Dave without results, but it must just be an other register to change. Thanks for your help.
From what you stated you should not need to do anything else. Are you able get more information as to the kind of error frame by reading the LEC value on the XC167? What type of bus error is the CANanalyzer reporting? When you get the error are you in a point-to-point connection between the CANanalyzer and NodeB? Or is NodeA also on the network? Does the CAN network have the proper termination? What happens when you transmit a message from NodeB to the CANanalyzer? Not sure if this could be your problem but check the peripheral user's manual section 22.1.10 Module Clock Requirements (for TwinCAN).
Hello, I found the little error: I just had to use two jumpers for J1 & J2 direct on the card. ( MCBX167 User's guide)