Цитата(GetSmart @ Nov 15 2007, 17:20)

Ведь не только я вставал на эти грабли. Другие подтвердят. При чтении из IOPIN0 старший бит всегда читается установленным.
Хорошо, поверю на слово. Тогда надо читать IO0SET. IO0PIN = IO0SET ^ (1U<<31 );
или IO0SET & (1U<<31 ) ? IO0CLR = (1U<<31 ) : IO0SET = (1U<<31 );
или развивая тему (signed int)IO0SET < 0 ? IO0CLR = (1U<<31 ) : IO0SET = (1U<<31 );