Gast
#3530604
Guten Morgen. Ich habe ein Problem bei folgender selbstdefinierter
Funktion (ausgeführt auf einem Virtex (MicroBlaze)):
int function(u8 *transmitter_buffer)
{
xil_printf("transmitter_buffer[0]: %x\n\r",transmitter_buffer[0]);
xil_printf("transmitter_buffer[1]: %x\n\r",transmitter_buffer[1]);
xil_printf("transmitter_buffer[2]: %x\n\r",transmitter_buffer[2]);
xil_printf("transmitter_buffer[2]: %x\n\r",transmitter_buffer[3]);
xil_printf("transmitter_buffer[2]: %x\n\r",transmitter_buffer[4]);
return(0);
}
In der main() rufe ich das ganze wie folgt auf:
uint8_t tx_buffer[5];
tx_buffer[0] = 0x0A;
tx_buffer[1] = 0x0B;
tx_buffer[2] = 0x0C;
tx_buffer[3] = 0x0D;
tx_buffer[4] = 0x0E;
function(tx_buffer);
Ausgabe auf der Console:
transmitter_buffer[0]: FF
transmitter_buffer[1]: FF
transmitter_buffer[2]: C
transmitter_buffer[3]: D
transmitter_buffer[4]: E
Es werden die zwei ersten Einträge stets als "FF" ausgegeben. Ich habe
die Funktion einmal auf dem PC im devC++ Editor getestet. Dort tut sie
was sie soll. Hat einer eine Erklärung?