天嵌 ARM开发社区

 找回密码
 注册
查看: 1827|回复: 3

ad驱动测试程序

[复制链接]
liukaihua 发表于 2013-9-11 16:20:49 | 显示全部楼层 |阅读模式
各位大虾,我使用TQ2416开发板带的ad驱动的测试程序,使用NFS文件挂载的方式调试,SecureCRT上面显示的读取ad的数值总是读不到,我根据论坛上提供的PDA源码修改了测试程序,还是读不到,帮帮忙啊,为什么啊
代码如下:
/*************************************
NAME:EmbedSky_beep.c
COPYRIGHT:www.embedsky.net
*************************************/
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <linux/fs.h>
#include <errno.h>
#include <string.h>
int main(void)
{
int fd ;
char temp = 1;
int i;//lkh
//fd = open("/dev/adc", 0);
fd = open("/dev/adc", O_RDWR);//lkh
if (fd < 0)
{
  perror("open ADC device !");
  exit(1);
}

for( i=0; i<30; i++)//lkh
{
  char buffer[30];
  int len ;
   
  ioctl(fd, 1, 2);//璁剧疆閫氬彿
  //len = read(fd, buffer, sizeof buffer -1);
  len = read(fd, buffer, sizeof(buffer) -1);//lkh
  if (len > 0)
  {
   buffer[len] = '\0';
   int value;
   double dvalue;//lkh
   sscanf(buffer, "%d", &value);
   dvalue = (float) value * 3.3/1023;//lkh
   //printf("ADC Value: %d\n", value);
   printf("ADC Value: %f\n", dvalue);//lkh
  }
  else
  {
   perror("read ADC device !");
   exit(1);
  }
  sleep(1);
}
adcstop:
close(fd);
}
TQ-lkp 发表于 2013-9-11 17:13:18 | 显示全部楼层
用我们提供的测试程序可以吗?
读不到是打不开设备,还是读出来的值不对????
 楼主| liukaihua 发表于 2013-10-11 16:43:59 | 显示全部楼层
解决了,是sscanf函数不能把buffer的数据读到value里面,不知道那个是怎么回事啊,我就直接用buffer的数据了
 楼主| liukaihua 发表于 2013-10-11 16:46:00 | 显示全部楼层
TQ-lkp 发表于 2013-9-11 17:13
用我们提供的测试程序可以吗?
读不到是打不开设备,还是读出来的值不对????

解决了,是sscanf函数不能把buffer的数据读到value里面,不知道那个是怎么回事啊,我就直接用buffer的数据了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-6 03:00 , Processed in 1.046875 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表