hey guys,
This maybe a stupid question but, i want to convert a interger array to a string on my xmega.
I have been trying to do it with a for loop in different ways, but it isn't working.
So i made a temporary function that does it the dumb way
uint16_t adcSamples[SAMPLE_COUNT]; char ADCSamples2[5000]; void convert_array_to_string(void){ snprintf(ADCSamples2,sizeof(ADCSamples2),"%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d \r\n ", adcSamples[0],adcSamples[1],adcSamples[2],adcSamples[3],adcSamples[4],adcSamples[5],adcSamples[6],adcSamples[7],adcSamples[8],adcSamples[9],adcSamples[10], adcSamples[11],adcSamples[12],adcSamples[13],adcSamples[14],adcSamples[15],adcSamples[16],adcSamples[17],adcSamples[18],adcSamples[19],adcSamples[20], adcSamples[21],adcSamples[22],adcSamples[23],adcSamples[24],adcSamples[25],adcSamples[26],adcSamples[27],adcSamples[28],adcSamples[29],adcSamples[30], adcSamples[31],adcSamples[32],adcSamples[33],adcSamples[34],adcSamples[35],adcSamples[36],adcSamples[37],adcSamples[38],adcSamples[39],adcSamples[40], adcSamples[41],adcSamples[42],adcSamples[43],adcSamples[44],adcSamples[45],adcSamples[46],adcSamples[47],adcSamples[48],adcSamples[49],adcSamples[50], adcSamples[51],adcSamples[52],adcSamples[53],adcSamples[54],adcSamples[55],adcSamples[56],adcSamples[57],adcSamples[58],adcSamples[59],adcSamples[60], adcSamples[61],adcSamples[62],adcSamples[63],adcSamples[64],adcSamples[65],adcSamples[66],adcSamples[67],adcSamples[68],adcSamples[69],adcSamples[70], adcSamples[71],adcSamples[72],adcSamples[73],adcSamples[74],adcSamples[75],adcSamples[76],adcSamples[77],adcSamples[78],adcSamples[79],adcSamples[80], adcSamples[81],adcSamples[82],adcSamples[83],adcSamples[84],adcSamples[85],adcSamples[86],adcSamples[87],adcSamples[88],adcSamples[89],adcSamples[90], adcSamples[91],adcSamples[92],adcSamples[93],adcSamples[94],adcSamples[95],adcSamples[96],adcSamples[97],adcSamples[98],adcSamples[99],adcSamples[100], adcSamples[101],adcSamples[102],adcSamples[103],adcSamples[104],adcSamples[105],adcSamples[106],adcSamples[107],adcSamples[108],adcSamples[109],adcSamples[110], adcSamples[111],adcSamples[112],adcSamples[113],adcSamples[114],adcSamples[115],adcSamples[116],adcSamples[117],adcSamples[118],adcSamples[119],adcSamples[120], adcSamples[121],adcSamples[122],adcSamples[123],adcSamples[124],adcSamples[125],adcSamples[126],adcSamples[127],adcSamples[128],adcSamples[129],adcSamples[130], adcSamples[131],adcSamples[132],adcSamples[133],adcSamples[134],adcSamples[135],adcSamples[136],adcSamples[137],adcSamples[138],adcSamples[139],adcSamples[140], adcSamples[141],adcSamples[142],adcSamples[143],adcSamples[144],adcSamples[145],adcSamples[146],adcSamples[147],adcSamples[148],adcSamples[149],adcSamples[150], adcSamples[151],adcSamples[152],adcSamples[153],adcSamples[154],adcSamples[155],adcSamples[156],adcSamples[157],adcSamples[158],adcSamples[159],adcSamples[160], adcSamples[161],adcSamples[162],adcSamples[163],adcSamples[164],adcSamples[165],adcSamples[166],adcSamples[167],adcSamples[168],adcSamples[169],adcSamples[170], adcSamples[171],adcSamples[172],adcSamples[173],adcSamples[174],adcSamples[175],adcSamples[176],adcSamples[177],adcSamples[178],adcSamples[179],adcSamples[180], adcSamples[181],adcSamples[182],adcSamples[183],adcSamples[184],adcSamples[185],adcSamples[186],adcSamples[187],adcSamples[188],adcSamples[189],adcSamples[190], adcSamples[191],adcSamples[192],adcSamples[193],adcSamples[194],adcSamples[195],adcSamples[196],adcSamples[197],adcSamples[198],adcSamples[199],adcSamples[200]); }
The value can be up to +/-2000 for the ADC value. That would take about 6 char places per value.
I tried multiply thing. This is one of them.
uint8_t j,i; char buffer[7]; for (i=0; i<SAMPLE_COUNT;i++){ snprintf(buffer,sizeof(buffer),"%d ",adcSamples[i]); //temp[sizeof(buffer)*i]=buffer; strcpy(ADCSamples1[(sizeof(buffer)*i)],buffer); //strcat(temp,buffer); printf("%s ",ADCSamples1[(sizeof(buffer)*i)]); }
The printf in the for loop gives the right output, but when i want to print the whole string outside of the for loop. It doesn't give any output
for(i=0;i<sizeof(adcSamples)*sizeof(uint16_t));i++){ snprintf(adcSamples1*(sizeof(uint16_t)*i),sizeof(adcSamples1),"%d ", adcSamples); }
Anyone got an idea how i could to this??
Thanks