Hab das jetzt so gelöst, weiß wer was besseres??
PDR8=Datenregister, man kann nur auf das gesamte Register zugreifen
/**********DIP Schalter einlesen********************/
/* Code0=Port 8 Bit 4
Code1=Port 8 Bit 3
Code2=Port 1 Bit 2
Code3=Port 1 Bit 1
*/
short dip_read()
{
byte buffer,dip;
dip=0x00;
buffer=(((~PDR8)&0x10)>>4); //Code0 auf Pos3 schieben
dip = dip|buffer;
buffer=(((~PDR8)&0x08)>>2); //Code1 auf Pos2 schieben
dip = dip|buffer;
buffer=((~PDR1)&0x04); //Code2 auf Pos1 schieben
dip = dip|buffer;
buffer=(((~PDR1)&0x02)<<2);//Code3 auf Pos0 schieben
dip = dip|buffer;
return (dip+0x11);
}
/***************End of dip_read()*******************/