代码如下:
int main(void)
{
struct tm time;
uint8_t year[256],mon[256],mday[256],hour[256], min[256],sec[256];
time = Time_GetCalendarTime();//(获得日历时间)
my_itoa(time.tm_year,year,10);
my_itoa(time.tm_mday,mday,10);
my_itoa(time.tm_hour,hour,10);
// my_itoa(time.tm_min,min,10);
// my_itoa(time.tm_sec,sec,10);
}
void my_itoa(int value,uint8_t *string,int radix)//整型转字符串
{
int i=0,j=0;
char tmp[256];
memset(tmp,0,256);
for(i=0;i<32;i++)
{
tmp[i]=(value%radix)+'0';
value=value/radix;
if(value==0)
break;
}
for(;i>=0;i--)
{
string[j] = tmp[i];
j++;
}
string[j] ='\0';
}
main 函数中如果调用my_itoa函数两次以上,程序就在调试过程进入HardFault_Handler() 错误。网上找了,我怀疑是函数过界问题,求高手教如何处理。