I am programming in C using Atmel Studio (for those unfamiliar with this it is used to program to micro controllers such as arduino. You can not simply print, you have to send the data Serially to an application such as Terminal.)
I have so far:
uint8_t * stackHolder;
char buffer[128];
stackHolder = &buffer[127];
Lets say that the address of buffer[127]
happens to be 0x207
. I can see that the value of stackHolder
is 0x207
using the debugger. I have a function that takes a char *
and prints that. So my question is how can I convert the uint8_t * stackHolder
into a char *
so I can pass it to my print function?
How can I convert the
uint8_t * stackHolder
into achar *
?
By casting:
print((char*) stackHolder);
I have a method that takes a char *
Suggest minimizing casts to one location to accomplish the goal and retain function signature type checking. Create a wrapper function with a cast.
// OP's original function
extern void skyleguy_Print(char *);
void skyleguy_Print_u8(uint8_t *s) {
skyleguy_Print((char *) s);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With