What is the possible problem that S32K144 CANFD prompt FLEXCAN_MB_TX_BUSY
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks a lot~
I power my board from external 12V DC,but the problem still exist.
Is there anything else I should pay attention to?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The pin configuration is wrong and the sending mailbox is not configured, and I also changed the clock configuration
.Pins.
.PE Clock.
.TX Message Box
.test result.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks a lot~ I changed the settings just like you,
but running to: FLEXCAN_DRV_Send -> FLEXCAN_StartSendData :
if (state->mbs[mb_idx].state != FLEXCAN_MB_IDLE)
{
return STATUS_BUSY;
}
not running FLEXCAN_SetTxMsgBuff.
Can you give me the code that you can run?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
be sure external 12V DC was used and don't forgot to change the jumpers in the picture below.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks a lot~
I still prompt Tx busy with your demo code.
Wiring as shown below:

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
我又测试了一遍,我觉得代码不可能有问题,因为我这边工作正常,你再检查下你的CAN工具设置和连线吧,我用的是PCAN.
你可以跑一下自带的demo,FlexCAN Encrypted这个demo,简单修改下可以测试下你的硬件通路,这个例程我也可以正常跑。
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
感谢~我使用flexcan_encrypted_s32k144:卡死在:
while(FLEXCAN_DRV_GetTransferStatus(INST_CANCOM1, RX_MAILBOX) == STATUS_BUSY);
state->mbs[mb_idx].state 在FLEXCAN_DRV_Receive->FLEXCAN_StartRxMessageBufferData->里面= FLEXCAN_MB_RX_BUSY。
只有在结果不成功的时候才会变成IDLE,我的是成功的,这样有问题?
if (result != STATUS_SUCCESS)
{
state->mbs[mb_idx].state = FLEXCAN_MB_IDLE;
}
修改哪边,可以看硬件通路?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
你写个简单的只发送不接收的例程,不使用CAN FD,如果能够正常看到数据说明硬件连接没问题,再使用我提供给你的例程,如果不能看到数据,说明你CAN工具链设置有问题,CAN FD需要工具链进行简单的设置。
参考这个demo,删一删就能用
https://community.nxp.com/t5/S32K/S32K146-CAN-Interrupt-support/m-p/1517571/highlight/false#M17556
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
我这边量了一下 TP24,RST,一会儿high,一会儿low,一直重启,SCS是always高,看起来SPI都没有通讯,是不是有什么要先设定一下?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
你是不是跑过UJA1169相关的例程,恢复UJA1169至出厂设置的方法:
file:///C:/NXP/S32DS_ARM_v2.2/S32DS/software/S32SDK_S32K1xx_RTM_3.0.0/doc/html_S32K144/can_pal_s32k144_group.html
Those lines must be modulated using a transceiver, if it is not specified the boards already include the CAN transceiver The CAN transceiver should be in Forced Normal Mode operation (default mode). To reset the CAN transceiver to default mode connect the SBC transceiver in next configuration with the board S32K144EVB-Q100 power off : • pin RSTN from SBC is held LOW • CANH(J13.1) is pulled up to VBAT(J11.2) • CANL(J13.2) is pulled down to GND(J13.4) Power on the board with external supply 12V (J16)
