typedef struct {
unsigned short *Buf;
unsigned short *PrtbufVal;
unsigned char BufLen;
} AdcTypeS;
int main(void) {
static unsigned char temp = 0;
static unsigned char t = 0;
static unsigned char i = 0;
unsigned long a[56] = {1,2,3,4,5,6,7.8,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28.29,30,31,32,33,34,35,36,37,38,39,40,41,46,43,44,45,46,47,48,49,50,51,52,53,54,55};
unsigned long *p;
p = a;
unsigned short aBuf[10];
unsigned short bBuf[11];
unsigned short cBuf[12];
unsigned short aBufcn = 0;
unsigned short bBufCnt = 0;
unsigned short cBufCnt = 0;
AdcTypeS adc[3] = {
{aBuf, &aBufcn, 10},
{bBuf, &bBufCnt, 11},
{cBuf, &cBufCnt, 12}
};
while (++t <= 56) {
if ((adc[temp].PrtbufVal)++ >= adc[temp].BufLen) {
*adc[temp].PrtbufVal = 0;
}
adc[temp].Buf[*adc[temp].PrtbufVal] = (unsigned short)p[i];
i++;
if (++temp >= 3) {
temp = 0;
}
printf("%d, %lu, %d, %lu\n", temp, *adc[temp].PrtbufVal, adc[temp].Buf[adc[temp].PrtbufVal], p[i]);
}
return 0;
}
这段代码,当