Hallo all.
I think, my compiler is crazy. I use 5.1.2 version of c2000 compiler with ccs and last SR.
My code looks like this:
----------------
if (GpioDataRegs.GPCDAT.bit.BIT1 == 0) // i am at home now and dont have sources, writing now by my memory :)
result = 1;
else result = 0;
--------------------
Its quite simply, but it works like:
if (GpioDataRegs.GPCDAT.bit.BIT1 == 1)
result = 0;
Very interesting moment is that I _sometimes_ get in third line (else result = 0;)
I dont use any optimization and have no warnings at this place.
Assembly code looks wrong at this place, i cannot copy it now but will do it tomorrow.
May be i should just reinstall CCS? I had such problems in other place but solved it using stupid logic like : if ((A >1 ) && (A != 0))
Also, i getting a lot of errors under compiling from windows, its says that ccs is trying to read adress 0x000000. I just stop compiling and start it again.
I've solved it today, moved code to function to another file.
If you interested, you can look on screenshot, good code produced by one computer, bad by another.
http://s40.radikal.ru/i089/1001/b9/ef7e6b603204.jpg