Unable to RESET INIT bit of CAN register CCCR

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
User21830
Level 1
Level 1
Welcome! First question asked
Hi

I am working on TC387 AURIX microcontroller.

During my CAN initialization, After setting my INIT bit to 1, when I try to reset the INIT bit to 0, I am not able to do it..
Is INIT bit write protected? If yes, what is the procedure to make it write accessible? Also Is there any other register that need to be set for CAN before setting CCCR register (INIT and CCE bit)?
0 Likes
3 Replies
MoD
Employee
Employee
50 likes received 500 replies posted 100 solutions authored
How you made this test?
Note: Due to the synchronization mechanism between the two clock domains, there may be a delay until the value written to INIT can be read back. Therefore the programmer has to assure that the previous value written to INIT has been accepted by reading INIT before setting INIT to a new value.
0 Likes
zhangdong
Level 1
Level 1
First question asked First like given First reply posted

 I also encounter the same problem. I aware that the "Can_17_McmCan_lTimeOut" function is applied to make sure that the CCCR.INIT to be set or reset within a certain period of time and return the result that whether the bit is successfully set or not. but when i set a break point there and observe the register ,  there is always an E_NOT_OK to return. Is there anything else that effect the CCCR setting?

0 Likes

Hi, I am confused with a similar problem. Normally after CCCR.B.INIT get cleared to 0, PSR.B.ACT will set to "Tramsmitter" within 1.2 ms, but under special condition, such as the voltage is low, it will takes about 50ms. 

Do you know the reason or how to deal with it?