打印
[资料分享与下载]

YL-KL26学习-adc模块

[复制链接]
844|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lovecat2015|  楼主 | 2015-11-22 17:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
对于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);
}


相关帖子

沙发
lovecat2015|  楼主 | 2015-11-22 17:17 | 只看该作者
程序在这里

5.ADC.zip

1.7 MB

使用特权

评论回复
板凳
芙蓉洞| | 2015-11-22 18:01 | 只看该作者
飞思卡尔内部的adc是多少位的啊

使用特权

评论回复
地板
Luis德华| | 2015-11-22 19:51 | 只看该作者
据说飞思卡尔的adc性能很好,精度高,用一下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

80

主题

816

帖子

0

粉丝