对于ADC库没什么好讲的,山外的库写的很完善只需要会用这几个就可以了/*************************** ADC学习 ***************************************
extern void adc_init (ADCn_Ch_e); //ADC初始化
extern uint16 adc_once (ADCn_Ch_e, ADC_nbit); //采集一次一路模拟量的AD值
ADCn_Ch_e//ADC通道
ADC_nbit//n = 8,12,16
extern void adc_stop (ADCn_e); //停止ADC转换
*******************************************************************************/
这是我写的printf_float()函数,方便串口检测电压void printf_float(float data) // printf_float(-30.00102);
{
char k[10],ch[20];
char s[10]={'0','1','2','3','4','5','6','7','8','9'};
int i=0,j=1;
long data0;
data0 = data;
data -= data0;
if(data0<0)
{
ch[i++] = '-';
data0 = -data0;
data = -data;
}
do
{
k[j++]=s[data0%10];
data0/=10;
}while(data0!=0);
for(j--;j>0;j--)
{
ch[i++]=k[j];
}
data0=data*10000+0.5;//保留四位小数
if(data0!=0)
{
ch[i++]='.';
j=1;
for(j=1;j<=4;j++)
{
k[j]=s[data0%10];
data0/=10;
}
for(j=4;j>0;j--)
{
ch[i++]=k[j];
}
}
ch[i++] = '\0';
printf("%s",ch);
}
|