Das einfachste wird wohl sein sich ein C Tutorial durchzulesen. So cryptisch wie es auf den ersten Blick ist, ist C eigentlich nicht.

Die Ausdrücke wie PORTA |= (1<<PA2) | (1<<PA3)
kommen in C häufiger vor.
|= steht für eine oder Verknüpfung. Also a|= b ist das gleiche wie a = a |b, wobei in C | für ein Bitweises oder steht. Analog gibt es das auch für -,+,*,/,&.

(1<<PA2) steht für eine 1 um "PA2" stelle nach links verschoden, als 2^PA2. Dabei ist PA2 eine vordefinierte Konstante mit dem Wert 2. Entsprechen werden in dem Beispiel oben 2 Bits gesetzt.

In dem code um den es eigentlich geht sind da noch andre Konstanten defniert, passend zu Hardware.