对于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);
- }
|