Other Parts Discussed in Thread: C2000WARE
referring to F28004x Support Library v1.11.00.00 or C2000Ware_MotorControl_SDK_4_00_00_00
In c2000ware/driverlib/f28004x/driverlib/lin.h the function LIN_disableSCIInterrupt() contains the following line:
HWREG_BP(base + LIN_O_SCICLEARINT) |= intFlags;
The read-modify-write will first read the current state (1 means enabled). Writing 1 to any bit then disables the associated interrupt.
So this function disables all enabled interrupts, not only the ones specified by intFlags as supposed.
It should be:
HWREG_BP(base + LIN_O_SCICLEARINT) = intFlags;
Similarly for LIN_enableSCIInterrupt(), but here it just re-enables already enabled interrupts.
