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. root用户Linux 环境变量的配置解决(-bash: jps: command not found)有关问题

    可以写成:$JAVA_HOME/bin 3. source /root/.bash_profile 发现 jps 等命令运行正常了

  2. SharePoint 中时间轴 Timeline的实现

    客户需要在OA中实现每日动态功能,能够记录每一位员工的每天的工作动态,我很快想到了时间轴,因为时间轴能很直观的现实员工每一刻的动态.就像Facebook的Timeline效果(点击查看). 尝试着搜索 ...

  3. python字符串格式化之学习笔记

    在python中格式化输出字符串使用的是%运算符,通用的形式为 •格式标记字符串 % 要输出的值组其中,左边部分的”格式标记字符串“可以完全和c中的一致.右边的'值组'如果有两个及以上的值则需要用小括 ...

  4. 如何在ppt或word中添加高亮代码?

    如何在ppt或word中添加高亮代码? 问题: 如何ppt中添加带有语法高亮的程序代码,就如同下面的形式(在ppt嵌入高亮代码,且可以编辑,带有行号) 详细的要求如下: 1.代码带有语法高亮. 2.结 ...

  5. java-Spring 管理bean例子

    Spring 通过2种方式管理bean 首先要导入Spring的包,(Spring.jar和commonslogging.jar) 或加载分开的... 在src目录下建立applicationCont ...

  6. go 从入门到精通(二)基本数据类型和操作符

    一.文件名&关键字&标识符 所有go源码都是以.go结尾 标识符以字母或下划线开头,大小写敏感 下划线_是特殊标识符,用户忽略结果 保留关键字 导入包时可以设置别名 下面是保留关键字: ...

  7. pyenv管理多python版本

    手动安装 cd ~ git clone git://github.com/yyuu/pyenv.git .pyenv echo 'export PYENV_ROOT="$HOME/.pyen ...

  8. HTML5新特性之文件和二进制数据的操作

    历史上,JavaScript无法处理二进制数据.如果一定要处理的话,只能使用charCodeAt()方法,一个个字节地从文字编码转成二进制数据,还有一种办法是将二进制数据转成Base64编码,再进行处 ...

  9. 菜鸟学Java(十八)——异常

    每个学编程的人在编程的过程中都会遇到各种异常.那么当我们遇到异常的时候该怎么处理呢?针对不同的异常我们又该采取什么具体的处理方式呢?这些问题在我开始学编程的很长一段时间里我都不太清楚,还好随着不断的学 ...

  10. 技术范儿的 Keep 发力AI赛道,为什么“虚拟教练”会更懂你?

    http://www.tmtpost.com/3363367.html 摘要: 虚拟教练技术会整合到一些业务场景和硬件产品中收费,但是收费的具体情况彭跃辉还暂未透露. 图片来源于Unsplash 自去 ...