You are welcome.
If I understood correctly, it works now… Right?
Unfortunately, I am not sure if reading MCU SPEC will really help, in this case. I never thought that trimming value of internal reference could have any influence on low-side drivers. But it has. It is simply analog die and it needs set trimming values before use.
However I suppose that this issue with low-side drivers is described in errata:
http://www.freescale.com/files/analog/doc/errata/MM912_634ER.pdf
See “Unexpected setting of VROVC Bit and disabling of Low-side Driver(s) at VSUP Power On”
It seems that recommended loading values according reference manual is slightly different:
B_CTR0 = TRIM0;
B_CTR1 = TRIM1;
B_CTR2 = TRIM2 & ~B_CTR2_SLPBG_LOCK_MASK;
B_CTR2 |= B_CTR2_SLPBG_LOCK_MASK;
B_CTR3 = TRIM3;
Errata recommend do not lock CTR2 values by lock mask as workaround
// B_CTR2 |= B_CTR2_SLPBG_LOCK_MASK;
In that case trimming values must be loaded at every MCU reset.
Note: I already met with similar issue and using template code from delivered CD helped me.
Code from my last reply is just copy-paste from this template code.
I hope it helps you.
Have a great day,
RadekS
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------