最近小弟在用2812自带adc对6.9KHz的矩形波进行采样的时候,发现采样的数据有问题,被采样的矩形波幅度0~1V,下面是我在采样程序中存取数据的语句
a1[l]=((float)AdcRegs.RESULT0)*3.0/65520.0+adclo; //这样直接读取的是采样的模拟值
在watch winidow中观察数据,出现了以下问题:
每个周期中的高电平(1)和低电平(0)采样点数差很多,举例:
a[0]~a[1023]存储采样数据,
a[0]~a[3]=1(由于a[0]不是起始采样点,所以舍去)从a[4]开始,
a[4]~a[32]=0, a[33]~a[71]=1,(这是一个周期)
a[72]~a[100]=0, a[101]~a[139]=1,
a[140]~a[168]=0,a[169]~a[208]=1,
........
(每个周期中取'0'的点数为29,取'1'的点数为39)
请问这是什么原因啊 望版主和高手们给个答复 |