[资料分享与下载] YL-KL26学习-adc模块

[复制链接]
 楼主| lovecat2015 发表于 2015-11-22 17:16 | 显示全部楼层 |阅读模式
对于ADC库没什么好讲的,山外的库写的很完善只需要会用这几个就可以了
  1. /***************************   ADC学习   ***************************************
  2. extern void     adc_init    (ADCn_Ch_e);                //ADC初始化
  3. extern uint16   adc_once    (ADCn_Ch_e, ADC_nbit);      //采集一次一路模拟量的AD值
  4.         ADCn_Ch_e//ADC通道
  5.         ADC_nbit//n = 8,12,16

  6. extern void     adc_stop    (ADCn_e);                   //停止ADC转换

  7. *******************************************************************************/
这是我写的printf_float()函数,方便串口检测电压
  1. void printf_float(float data)  //     printf_float(-30.00102);
  2. {
  3.   char k[10],ch[20];
  4.   char s[10]={'0','1','2','3','4','5','6','7','8','9'};
  5.   int        i=0,j=1;
  6.   long   data0;
  7.   data0 = data;
  8.   data -= data0;
  9.   if(data0<0)
  10.   {
  11.     ch[i++] = '-';
  12.     data0 = -data0;
  13.     data = -data;
  14.   }
  15.   do
  16.   {
  17.           k[j++]=s[data0%10];
  18.           data0/=10;
  19.   }while(data0!=0);
  20.   for(j--;j>0;j--)
  21.   {
  22.           ch[i++]=k[j];
  23.   }
  24.   data0=data*10000+0.5;//保留四位小数
  25.   if(data0!=0)
  26.   {
  27.           ch[i++]='.';
  28.         j=1;
  29.         for(j=1;j<=4;j++)
  30.           {
  31.                   k[j]=s[data0%10];
  32.                   data0/=10;
  33.           }
  34.           for(j=4;j>0;j--)
  35.           {
  36.                   ch[i++]=k[j];
  37.           }
  38.   }
  39.   ch[i++] = '\0';
  40.   printf("%s",ch);
  41. }


 楼主| lovecat2015 发表于 2015-11-22 17:17 | 显示全部楼层
程序在这里

5.ADC.zip

1.7 MB, 下载次数: 14

芙蓉洞 发表于 2015-11-22 18:01 | 显示全部楼层
飞思卡尔内部的adc是多少位的啊
Luis德华 发表于 2015-11-22 19:51 | 显示全部楼层
据说飞思卡尔的adc性能很好,精度高,用一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

80

主题

816

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

80

主题

816

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部