@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
Lesezeichen