Hi,
ich wollte mal fragen wie ich Binär, Hex und Decimal untereinander umrechne um auf die Ports vom ATmega16 zuzugreifen.
Code:
outp (<bits>, <port>);
inp (<port>);
Ich kann nähmlich nicht einfach 0xFF verwenden oder so da ich PortB2-4 als Input und PB5-7 als Outp brauche.
Bitte ausführlich antworten da ich praktisch erst mein erstes programm in C überhaupt schreibe.

mfG
Thomas

Hier noch mein gesamter Code (hoofentlich geht er):

Code:
/****************************************************************************
by Thomas Grübler
je nach taster wird eine Led geschalten
****************************************************************************/

#include <io.h>	// Wir brauchen Zugriff auf die I/O's des Controllers

// Typendefinition für ein BYTE
typedef unsigned char  BYTE;
typedef unsigned int   WORD;

int main (void)
/****************************************************************************
	Programmbeginn
*/
			
    {

    /* PortB5-7 als outp configurieren
	PortB2-4 als input confifurieren
	
	outp (<bits>, <port>);
	inp (<port>);
	
    */
    outp (0x1F, DDRB);	// Port B5-7 als Ausgang
	//outp (PORTB6, DDRB);	// Port B5-7 als Ausgang
	//outp (PORTB7, DDRB);	// Port B5-7 als Ausgang
    //inp (PINB2);	// Port B2-4 als Eingang
    //inp (PINB3);	// Port B2-4 als Eingang
    //inp (PINB4);	// Port B2-4 als Eingang
	
    /* Hier beginnt die Endlosschleife. Dies könnte auch als
       while (1)
       definiert werden. Der Ausdruck for (;;) ist jedoch in C
       eine übliche Schreibweise für sowas.
    */

    for (;;) {
        /* Pin 2 von Port B abfragen, eine logische 0 heisst 'Taster gedrückt'.
            ACHTUNG: Es muss Register PIND abgefragt werden, nicht PORTD */
        if (bit_is_clear (PINB, PINB2)) {
            /* Wenn der Taster Gedrückt ist dann led einschalten */
            sbi (PORTB, 5); //PortB2 einschalten
			sbi (PORTB, 6);
			sbi (PORTB, 7);
			}
        }
        else {
            /* Taster ist nicht gedrückt */
            cbi (PORTB, 5);        // Leds ausschalten
			cbi (PORTB, 6);
			cbi (PORTB, 7);
        }
   }
}