Hallo Felix G,
Oho, das funktioniert schon mal. Hab ich gleich mal ausgetestet.
Und ja, Du hast recht, für "n" wird ein Register verwendet, zumindest bei meinem Compilat.
Das man einen Pointer wie ein Array benutzen kann, war mir noch nicht klar.
Hat sich also mein Beitrag gelohnt. Ich bedanke mich.
Der Vollständigkeit halber nochmal 4 Lösungen:
Code:
void uart_send(void* data, unsigned int size)
{ char *p = data;
while (size--)
{
uart_putc(*p++);
}
}
void uart_send(void* data, unsigned int size)
{ int i;
for (i=0; i< size; i++)
{
uart_putc(((char*)data)[i]);
}
}
void uart_send(void* data, unsigned int size)
{
while (size--)
{
uart_putc(*(char*)data);
data = (char*)data+1;
}
}
void uart_send(void* data, unsigned int size)
{
while (size--)
{
uart_putc(*(char*)data);
++(*((char**)(&data)));
}
}
Siro
Lesezeichen