S32K310 CAN Init Fault

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

S32K310 CAN Init Fault

Jump to solution
1,565 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,509 Views
Senlent
NXP TechSupport
NXP TechSupport

Hi@Embedded_novice

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

Senlent_0-1743478029460.png

 

View solution in original post

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

Hi@Embedded_novice

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

Senlent_0-1743478029460.png

 

0 Kudos
Reply
1,540 Views
Embedded_novice
Contributor III

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

0 Kudos
Reply