This repository has been archived on 2025-02-28. You can view files and clone it, but cannot push or open issues or pull requests.
controller-hd/Tests/test_hart.c

44 lines
953 B
C

#include <stdio.h>
#include <stdint.h>
#define NUM_TO_ASCII(num) ((num) + '0')
void dev_serial_number_to_string(char *s, uint8_t *sn, uint8_t len)
{
uint8_t interval = 0; // 间隔x位插入'-'
uint8_t count = 0;
for (uint8_t i = 0; i < len; i++)
{
s[count] = NUM_TO_ASCII(*(sn + i));
count++;
if (interval != 0)
{
if ((i + 1) % interval == 0 && count < count + len / interval)
{
s[count] = '-';
count++;
}
}
}
if (interval != 0)
{
s[len + len / interval - 1] = '\0'; // 添加字符串结束符
}
else
{
s[len] = '\0'; // 添加字符串结束符
}
}
int main()
{
uint8_t sn[16] = {0}; // 16个0
char s[19]; // 16 digits + 3 dashes + 1 null terminator
dev_serial_number_to_string(s, sn, 16);
printf("Formatted serial number: %s\n", s);
return 0;
}