Ähm...
wieso tut ihr euch das überhaupt an!?
Pointerarithmetik ist ja schön und gut, aber in 99% aller Fälle geht es auch sehr viel bequemer:
Ja, es ist eine Zählvariable dazugekommen, aber dafür ist der Code leichter lesbar und weniger fehleranfällig.Code:void uart_send(void* data, uint16_t size) { uint16_t n; uint8_t* data8 = (uint8_t*)data; for(n=0; n<size; n++) uart_putc(data8[n]); } oder alternativ: void uart_send(void* data, uint16_t size) { uint16_t n; for(n=0; n<size; n++) uart_putc(((uint8_t*)data)[n]); }
(Außerdem wird n niemals im Speicher existieren, der Compiler verwendet einfach ein Register dafür)







Zitieren

Lesezeichen