Using s32k312 chip to control sbc fs23.
I want to use the built-in CAN transceiver in NXP's SBC FS23 to send CAN messages. Use SPI communication to initialize the registers of fs23, and then set the registers related to the CAN transceiver.
The value of this register is 0x3f08(can enable)
The value of this register is 0x02a0(
CAN Transceiver active mode)
The value of this register is 0x308f(Strangely, SBC is in both normal and init states)
The value of this register is 0x061f(Can state machine in normal mode)
For debugging convenience, I connected the debug pin of sbc fs23 to a voltage of 3.8V.
M_SYS1_CFG reg is 0x8(sbc in debug mode)
Above is my register settings,But when sending can messages, can remains in a busy state.
The following is the code for sending CAN messages.
status = FlexCAN_Ip_GetTransferStatus(INST_FLEXCAN_1, TX_MAILBOX_ID);
if(FLEXCAN_STATUS_SUCCESS == status)
{
FlexCAN_Ip_Send(INST_FLEXCAN_1, TX_MAILBOX_ID, &tTXCANMsgConfig, txMsg.msgId, txMsg.data);
}
}
)