1. /*
  2. * adc_test.c
  3. *
  4. * Copyright (C) 2007 Mengrz
  5. */
  6. #include <stdio.h>
  7. #include <stdlib.h>
  8. #include <string.h>
  9. #include <unistd.h>
  10. #include <sys/unistd.h>
  11. #include <sys/stat.h>
  12. #include <linux/fcntl.h>
  13. #include <linux/ioctl.h>
  14. #include "adc.h"
  15. int main(int argc, char *argv[])
  16. {
  17. if (argc < 2) {
  18. printf("Useage: %s dev\n", argv[0]);
  19. exit(0);
  20. }
  21. struct adc_mode mode = {
  22. .trigger = ADC_TRIGGER_SOFT,
  23. .trigger_time = 1000,
  24. .resolution = 0,
  25. .sleep_mode = 1,
  26. .startup_time = 5,
  27. .sample_time = 8,
  28. .adc_clock = 8,
  29. };
  30. int fd = open(argv[1], O_RDWR);
  31. if (fd == -1){
  32. perror("open:");
  33. exit(-1);
  34. }
  35. int data;
  36. int ret;
  37. float  tdata=0,a=3.3;
  38. if (ioctl(fd, ADCCTL_SETMODE, &mode))
  39. perror("ioctl:ADCCTL_SETMODE");
  40. memset(&mode, 0, sizeof(struct adc_mode));
  41. ioctl(fd, ADCCTL_GETMODE, &mode);
  42. printf("adc_mode:  f => v\n"
  43. "trigger => %d\n"
  44. "trigger_time => %d\n"
  45. "resolution   => %d\n"
  46. "startup_time => %d\n"
  47. "sample_time  => %d\n"
  48. "adc_clock    => %d\n",
  49. mode.trigger, mode.trigger_time,
  50. mode.resolution, mode.startup_time,
  51. mode.sample_time, mode.adc_clock);
  52. while(1)
  53. {
  54. usleep(3000000);
  55. ioctl(fd, ADCCTL_START);
  56. ioctl(fd, ADCCTL_GETSTATUS, &ret);
  57. printf("status: 0x%08x\n", ret);
  58. ret = 0;
  59. //while (1)
  60. //      //ioctl(fd, ADCCTL_GETCNT, &ret);
  61. //printf("count: %d\n", ret);
  62. //    while (1) {
  63. ioctl(fd, ADCCTL_GETDATA, &data);
  64. printf("AD_VAL: %d\n", data);
  65. tdata=(float)data;
  66. tdata=tdata/1024*a;
  67. printf("the voltage is %fV\n",tdata);
  68. //    ret--;
  69. //      usleep(200000);
  70. //  }
  71. }
  72. close(fd);
  73. return 0;
  74. }

sam9260 adc 测试的更多相关文章

  1. ADC测试matlab代码

    前面有做过ADC性能测试,测试方式是先使用ADC采集一个单频信号,然后利用matlab进行性能分析. 下面把matlab分析的代码记录下来: %The following program code p ...

  2. sam9260 adc 头文件

    /* * driver/char/at91_adc.h * * Copyright (C) 2007 Embedall Technology Co., Ltd. * * Analog-to-digit ...

  3. sam9260 adc module

    /* * driver/char/at91_adc.c * * Copyright (C) 2007 Embedall Technology Co., Ltd. * * Analog-to-digit ...

  4. sama5d3 环境检测 adc测试

    #include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h># ...

  5. 【嵌入式】FS2410非操作系统外围资源测试

    在刚接触FS2410时,其实这个测试也没有多大意义,但是对于以后来说,当一个产品做成功时,产品测试还是一个必须经过的一个阶段,所以这个流程还是有必要走一下! 在非操作系统下,主要进行RTC测试,按键测 ...

  6. STM32F412应用开发笔记之七:片上ADC的应用测试

    在我们的应用项目中需要采集一些模拟量,这些量使用MCU自带的ADC就可以满足要求.在NUCLEO-F412ZG实验板上的STM32F412ZG有一个16通道的ADC,我们试验用它采集几个数据. 在NU ...

  7. STM32CubeMX 多通道 ADC DMA 配置 测试小程序

    要点: 1.STM32F103C8T6单片机 2.ADC+DMA 多通道 重点是ADC+DMA配置,ADC+DMA配置如下 其他配置略略略略. 然后各位自行直看.ioc文件,生成代码后在while之前 ...

  8. 嵌入式Linux驱动学习之路(十九)触摸屏驱动、tslib测试

    触摸屏使用流程: 1. 按下产生中断. 2.在中断处理程序中启动AD转换XY坐标. 3.AD转换结束并产生AD中断. 4. 在AD的中断处理函数中上报信息,启动定时器. 5. 定时器时间到后进入中断, ...

  9. STM32 ADC 测电压

    1. STM32F103 ADC 本例使用STM32F103芯片的PA1引脚测试模拟输入的电压值. 查看文档<STM32F103X.pdf>第31页,引脚定义图: 得知PA1使用ADC1的 ...

随机推荐

  1. process credentials(一)

    一.介绍 当linux系统中的一个进程运行起来的时候,总是要访问系统的资源,访问文件或者向其他的进程发送信号.系统是否允许其进行这些操作?系统是根据什么来判断该进程的权限?这些问题是和进程信任状(pr ...

  2. Bootstrap VS Semantic VS Foundation

    相信多数科技公司都没有自己动手设计UI的能力! 看到这个开头,预计非常多程序员非常不服气,我们那个美工可NB了,各种切图,各种特效! 假设你跟我讲这些,就说明你还没有明确UI详细指什么.通常我们所讲的 ...

  3. C++项目參考解答:求Fibonacci数列

    [项目:求Fibonacci数列] Fibonacci数列在计算科学.经济学等领域中广泛使用,其特点是:第一.二个数是1,从第3个数開始,每一个数是其前两个数之和.据此,这个数列为:1 1 2 3 5 ...

  4. 删除wordpress评论表单中的网址文本框

    原始效果如下 想要去掉这个链接表单,一般想到的方法就是找到 comments.php 文件中的对应表单代码删掉.但是现在只需要一段非常简单的代码就可以去除: 代码如下 复制代码 add_filter( ...

  5. Python 文件 next() 方法

    描述 Python 3 中的 文件 对象不支持 next() 方法. Python 3 的内置函数 next() 通过迭代器调用 __next__() 方法返回下一项. 在循环中,next()方法会在 ...

  6. SQL中特殊符号的使用

    1. & 在Oracle中,& 是从需要外部输入输入的变量,PS:MySqL中可以直接用"P&G"这样的字符串,故不存在本文所说的问题 如下SQL语句就不能 ...

  7. MySQL数据库知识点整理 (持续更新中)

    一.修改用户密码 格式(在命令行下输入):mysqladmin -u 用户名 -p旧密码 password 新密码 1. 给root添加密码ab12:  mysqladmin -uroot -pass ...

  8. get the code of function in matlab

    >> edit <function>>> edit perform

  9. Mac 下安装Ruby环境

    步骤1 - 安装 RVM RVM 是干什么的这里就不解释了,后面你将会慢慢搞明确. $ curl -L https://get.rvm.io | bash -s stable 期间可能会问你sudo管 ...

  10. Java常考面试题(二)

    序言 昨天刚开始的”每日5题面试“这类文章,感觉还不错,把一些平常看似懂了的东西,弄清楚了.就像什么是虚拟机?这个问题,看起来知道,但是要说出个所以然来,又懵逼了,经常回过头来看看做过的面试题,试着用 ...