S32K310 CAN Init Fault

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

S32K310 CAN Init Fault

Jump to solution
1,667 Views
Embedded_novice
Contributor III

我在使用MCAL版本SW32K3_S32M27x_RTD_R21-11_5.0.0来调用CAN_Init初始化CAN控制器时无法成功,原因是在这个静态代码中,我将会返回一个超时状态,导致初始化失败。Q1.png

我不知道是否是我理解有误,MCR->SOFTRST已经置1,但是下面的while循环却在等待它等于0,否则会一直等待直到超时错误置位。而且我在修改这个代码让他越过这个while后,在下面的FLEX_ClearRAM以及(base->IFLAG1) = FLEXCAN_IMASK1_BUF31TO0M_MASK语句都会触发我的hardfault。这会导致MCR->FRZ处于置1状态,我的CAN控制器无法工作。我想知道该如何处理,感谢!

0 Kudos
Reply
1 Solution
1,611 Views
Senlent
NXP TechSupport
NXP TechSupport

Hi@Embedded_novice

这个位需要等待一段时间才能置零,所以要去轮询,至于你的程序超时,那么你应该去看一下这个模块的时钟配置是不是正常的,这应该和时钟配置有关。

Senlent_0-1743478029460.png

 

View solution in original post

0 Kudos
Reply
2 Replies
1,612 Views
Senlent
NXP TechSupport
NXP TechSupport

Hi@Embedded_novice

这个位需要等待一段时间才能置零,所以要去轮询,至于你的程序超时,那么你应该去看一下这个模块的时钟配置是不是正常的,这应该和时钟配置有关。

Senlent_0-1743478029460.png

 

0 Kudos
Reply
1,642 Views
Embedded_novice
Contributor III

同时在这个MCAL中,I2C的其中一个函数编写似乎存在语法错误,缺少了},但编译器不报错(可能是因为未调用)error.png

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2070608%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3ES32K310%20CAN%20Init%20Fault%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2070608%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3E%3CP%3EI%20am%20unable%20to%20successfully%20call%20CAN_Init%20to%20initialize%20the%20CAN%20controller%20using%20MCAL%20version%20SW32K3_S32M27x_RTD_R21-11_5.0.0%20because%20in%20this%20static%20code%2C%20I%20will%20return%20a%20timeout%20status%2C%20resulting%20in%20initialization%20failure.%20%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Q1.png%22%20style%3D%22width%3A%20943px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Q1.png%22%20style%3D%22width%3A%20943px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F330355iE0D7D58158AB5A9E%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22Q1.png%22%20alt%3D%22Q1.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EI%20don't%20know%20if%20I%20understand%20it%20wrongly.%20MCR-%26gt%3BSOFTRST%20is%20already%20set%20to%201%2C%20but%20the%20while%20loop%20below%20is%20waiting%20for%20it%20to%20be%20equal%20to%200%2C%20otherwise%20it%20will%20keep%20waiting%20until%20the%20timeout%20error%20is%20set.%20And%20after%20I%20modify%20this%20code%20to%20let%20it%20skip%20this%20while%2C%20the%20following%20FLEX_ClearRAM%20and%20(base-%26gt%3BIFLAG1)%20%3D%20FLEXCAN_IMASK1_BUF31TO0M_MASK%20statements%20will%20trigger%20my%20hardfault.%20This%20will%20cause%20MCR-%26gt%3BFRZ%20to%20be%20set%20to%201%2C%20and%20my%20CAN%20controller%20will%20not%20work.%20I%20would%20like%20to%20know%20how%20to%20deal%20with%20it%2C%20thank%20you!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2071637%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3ERe%3A%20S32K310%20CAN%20Init%20Fault%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2071637%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%40%3CSPAN%3EEmbedded_novice%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EThis%20bit%20needs%20to%20wait%20for%20a%20while%20before%20it%20can%20be%20set%20to%20zero%2C%20so%20you%20need%20to%20poll.%20As%20for%20your%20program%20timeout%2C%20you%20should%20check%20whether%20the%20clock%20configuration%20of%20this%20module%20is%20normal.%20This%20should%20be%20related%20to%20the%20clock%20configuration.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Senlent_0-1743478029460.png%22%20style%3D%22width%3A%20641px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Senlent_0-1743478029460.png%22%20style%3D%22width%3A%20641px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F330659iAB38D415157BD805%2Fimage-dimensions%2F641x257%3Fv%3Dv2%22%20width%3D%22641%22%20height%3D%22257%22%20role%3D%22button%22%20title%3D%22Senlent_0-1743478029460.png%22%20alt%3D%22Senlent_0-1743478029460.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2070645%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3ERe%3A%20S32K310%20CAN%20Init%20Fault%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2070645%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3E%3CP%3EAt%20the%20same%20time%2C%20in%20this%20MCAL%2C%20one%20of%20the%20I2C%20functions%20seems%20to%20have%20a%20syntax%20error%2C%20missing%20%7D%2C%20but%20the%20compiler%20does%20not%20report%20an%20error%20(probably%20because%20it%20is%20not%20called)%20%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22error.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22error.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F330364i5AD86E84BDC9C887%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22error.png%22%20alt%3D%22error.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E