Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Convert a decimal to hex and use the hex value to set output pins high

Sahar ElyahoodayanSahar Elyahoodayan Member Posts: 1
edited February 2 in Embedded C/C++

Hi,
I am taking an integer like 32, converting it to a hex number, and concatenating it with 0X to produce a char output = 0X1F. I then use "output" to set output pins on MSP30 high.
The below code does what I just explained. When I run this, I get the following error: a value of type "char *" cannot be assigned to an entity of type "unsigned char". I don't understand how to fix this. Can someone help please.

char h[17] = "0123456789ABCDEF"; static uint8_t num = 32; //decimal number to be converted to hex char hex[32]; static uint8_t Quo; // Quotient static uint8_t Rem; //Remainder char *string = "0X"; char *output; hex[0] = '\0'; while (num !=0) { Quo = num/16; Rem = num % 16; memmove (&hex[1], hex, strlen(hex)+1); hex[0] = h[Rem]; num = Quo; //concatinate output= malloc(strlen(string)+strlen(hex)+1); strcpy(output, string ); strcat(output, hex); P1OUT = output ; }

Sign In or Register to comment.