第六章合集代码1:数据采集和动态图展示

uint16_t AdcConvertedValue[100];//存储采样数据
uint8_t adcDmaOverFlag=0;//采样是否结束的标志位
HAL_ADC_Start_DMA(&hadc1,(uint32_t*)AdcConvertedValue,100);//开启采样和DMA传输
extern uint8_t adcDmaOverFlag;//100个点是否采样完成
adcDmaOverFlag=1; //100个点采样完成
#include <main.h>
extern uint16_t AdcConvertedValue[500];//存储采样数据
extern uint8_t adcDmaOverFlag;//采样是否结束的标志位
extern ADC_HandleTypeDef hadc1;
tickCounter++;
static uint16_t i;
float adFloat;
if ((tickCounter%100 == 0)&&(adcDmaOverFlag==1))//判断采样是否结束
{
for(i=0;i<100;i=i+1) //显示100个点
{
adFloat=(float)AdcConvertedValue[i];//12位数字量0-4095
graph.addDataPoint(adFloat);//在图上显示采样点
}
adcDmaOverFlag=0;//标志位复位
HAL_ADC_Start_DMA(&hadc1,(uint32_t*)AdcConvertedValue,100);//重新开始下一轮采集
}