kinetis入门之——AD转换
0赞kinetis内置了16位高速SAR型ADC,能够进行快速AD转换。下面详述步骤:
1、在“Project Panel”面板下右击上个例程的工程文件“k10_led_pe”,点“复制”,再右击点“粘贴”
重新起个名字(这里取“k10_adc_pe”),点“确定”。
双击“Converter”下的“ADC_LDD”,如下图所示:
配置成如下图的样子:
“Methods”里“GetMeasurementCompleteStatus”选“generate code”,如下图所示:
产生代码。程序中添加下面代码:
AD1_TResultData MeasuredValues[1];
LDD_ADC_TSample SampleGroup[1];
LDD_TDeviceData *MyADCPtr;
LDD_TError Error;
MyADCPtr = AD1_Init((LDD_TUserData *)NULL); /* Initialize the device */
SampleGroup[0].ChannelIdx = 0U; /* Create one-sample group */
Error = AD1_CreateSampleGroup(MyADCPtr, (LDD_ADC_TSample *)&SampleGroup, 1U); /* Set created sample group */
Error = AD1_StartSingleMeasurement(MyADCPtr); /* Start continuous measurement */
while(1)
{
while(AD1_GetMeasurementCompleteStatus(MyADCPtr) != TRUE);
{
Error = AD1_GetMeasuredValues(MyADCPtr, (LDD_TData *)&MeasuredValues);
Error = AD1_StartSingleMeasurement(MyADCPtr);
}
}
循环中不断进行状态判断并启动AD转换,可以设断点观察AD转换结果。实际上还可以连续多次AD转换求平均值,请自行试之。