Gast
#307669
Hallo, ich programmiere zur Zeit einen ATMEGA128 mit WinAVR in C. Dabei muss ich zwei Pins eines Ports miteinander vergleichen. Ich weiß allerdings nicht, wie ich einzelne Bits einlesen kann. Bis jetzt hab ich den kompletten Port abgefragt und dann das entsprechende Bit mit "UND" ausmaskiert und anschließend verglichen. Das sah wie folgt aus: __________________________________________ unsigned char input_a = PINE; unsigned char input_b = PINE; input_a = input_a & 0x80; input_b = input_b & 0x40; if (((input_a == 0x80) & (input_b ==0x40)) | ((input_a != 0x80) & (input_b !=0x40))) {// usw.} ___________________________________________ Aber das muss doch auch einfacher gehen, oder?