"if (~PINA)" ist zwar elegant, wird aber nicht funktionieren, denn
-- das liest PINA
-- expandiert PINA zu 16 bit (PINA ist unsigned char)
-- mach das 1-er komplement darauf (bildet 0xff also auf 0xff00 ab)
-- guckt nach, ob das 0 ist oder nicht
Das ist was anderes als if (~(signed char) PINA)
Lesezeichen