@addict

Wie lesen ich aber einen Port aus? (wenn ich die Adresse weiss)????

Mit 'C' ein port auslesen zb PortB auf adress 0x16


#define PINB _SFR_IO8(0x16)
#define DDRB _SFR_IO8(0x17)
#define PORTB _SFR_IO8(0x1


//wenn PB0/XCK/T0/pin1 hoch ist,
if ( PINB & 0x01 )
{
//mach etwas
}



oder


unsigned char MeinWert ;
MeinWert = PINB ;
if ( MeinWert & 0x01 )
{
//mach etwas
}



PortB sieht so aus
Code:
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
PB7  PB6  PB5  PB4  PB3  PB2  PB1  PB0
pin8 pin7 pin6 pin5 pin4 pin3 pin2 pin 1
Ports lassen sich bytewise/bitwise lesen/schreiben.
Pas mahl auf! Data schreibt man nach PORTB und data liest man von PINB.
Wenn mann PORTB lehst, lehst mann nur die weggeschriebene wert wieder zuruck und nicht die elektrischen pin-status
(hat mich schon manche Stunde gekostet)


#define PINB _SFR_IO8(0x16) usw
brauch mann nicht selber zu definieren, diese definitionen bevinden sich im datei iom32.h


gruss

Henk