jkob
28.12.2005, 20:42
Hallo,
ich habe eigentlich ein ganz simples Problem. Ich möchte das per UART eingelesene Byte auf mein LED-Array ausgeben.
unsigned char UART1_Receive( void )
{
while ( !(UCSR1A & (1<<RXC1)) )
; // wait for Receive Complete
return UDR1;
}
und im Hauptprogramm
PORTC = UART1_Receive;
PORTC sind die LEDs. Bei Kompilieren (avr-gcc) bekomme ich folgende Meldung:
warning: assignment makes integer from pointer without a cast
Warum? UDR1 ist doch ein Register in dem das Byte steht. Und UART1_Receive gibt den Wert des Registers zurück. Warum sollte ich da irgendwas casten oder dereferenzieren?
Viele Grüße
Jakob
ich habe eigentlich ein ganz simples Problem. Ich möchte das per UART eingelesene Byte auf mein LED-Array ausgeben.
unsigned char UART1_Receive( void )
{
while ( !(UCSR1A & (1<<RXC1)) )
; // wait for Receive Complete
return UDR1;
}
und im Hauptprogramm
PORTC = UART1_Receive;
PORTC sind die LEDs. Bei Kompilieren (avr-gcc) bekomme ich folgende Meldung:
warning: assignment makes integer from pointer without a cast
Warum? UDR1 ist doch ein Register in dem das Byte steht. Und UART1_Receive gibt den Wert des Registers zurück. Warum sollte ich da irgendwas casten oder dereferenzieren?
Viele Grüße
Jakob