这个12k的话,应该是采样率,在adc初始化函数里面,我调了那个分频系数,大概在6和8之间来调,还有周期,周期是239.5和71,还有11,23这几个参数来回的调,后来调出来的结果最高也只是不会超过14k,最低的话是8k,就是这个采样的始终上不去。没有开dma,统计的方法是在a dc中断里面设了一个变量来对中断,每一次中断的时候加一,然后用了另外一一个定时器,每一秒进一次中断,这个定时器每一秒进中断的时候也有一个变量来统计这个秒数,然后进行判断,是奇数的时候,我们将adc统计的那个变量清零,是偶数的时候,萌就这样统计a dc的变量,显示oLED上面,然后就得到了上面的那个结果,最高采样率不会超过14k,不知道为什么呢?
单片机主频是多少?如果不开DMA每次转换完成都要重新开启ADC,这些时间都要计入,主频不高很难做到高速采集。
发现主要原因是主频RCC,程序原因也占一部分。程序增加RCC_INIT()对整个程序以及ADC分频进行设定后,速度马上有提升。接着继续调高采样率,结果直接黑屏,开DMA后恢复正常。可调到最高采样率,即主频72M,6分频,1u采样周期。如果采用ADC中断,在中断程序里不要写过长的程序,否则拖慢采样率。最好只在中断里赋值后退出,在定时器中断里进行详细操作。