rt-thread-official/bsp/gd32vf103v-eval/libraries/n22/stubs/write_hex.c

18 lines
460 B
C
Raw Normal View History

2019-07-24 17:03:26 +08:00
/* See LICENSE of license details. */
#include <stdint.h>
#include <unistd.h>
void write_hex(int fd, unsigned long int hex) {
uint8_t ii;
uint8_t jj;
char towrite;
write(fd, "0x", 2);
for (ii = sizeof(unsigned long int) * 2; ii > 0; ii--) {
jj = ii - 1;
uint8_t digit = ((hex & (0xF << (jj * 4))) >> (jj * 4));
towrite = digit < 0xA ? ('0' + digit) : ('A' + (digit - 0xA));
write(fd, &towrite, 1);
}
}