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. cucumber java从入门到精通(4)Scenario Outline及数据驱动

    cucumber java从入门到精通(4)Scenario Outline及数据驱动 到目前为止,我们的TodoList类工作良好,不过离我们的预期--任务清单系统还是有不少差距,究其原因不过如下: ...

  2. 7.翻译:EF基础系列---EF中的实体类型

    原文地址:http://www.entityframeworktutorial.net/Types-of-Entities.aspx 在Entity Framework中有两种实体类型:一种是POCO ...

  3. javascript 中的==(相等运算符)与===(等同运算符)比较

    javascript 中的==(相等运算符)与===(等同运算符)比较:(1)==用于一般比较,===用于严格比较,(2)==在比较的时候可以转换数据类型,===严格比较,只要类型不匹配就返回flas ...

  4. win10 docker 安装部署

    Docker 安装教程: https://blog.csdn.net/hunan961/article/details/79484098 安装docker前需要首先开启虚拟服务:重启电脑-->F ...

  5. U811.1接口EAI系列之六--物料上传--VB语言

    1. 业务系统同步U811.1存货档案通用方法. 2.具体代码处理如下: 作者:王春天 2013-11-06 地址:http://www.cnblogs.com/spring_wang/p/34098 ...

  6. flowable 中task的相关操作

    1 获取任务列表 1)获取候选人的任务列表 TaskService taskService = processEngine.getTaskService(); List<Task> tas ...

  7. libsvm参数说明[zz]

    English:libsvm_options:-s svm_type : set type of SVM (default 0) 0 -- C-SVC 1 -- nu-SVC 2 -- one-cla ...

  8. Oozie工作流属性配置的方式与策略

    本文原文出处: http://blog.csdn.net/bluishglc/article/details/46049817 Oozie工作流属性配置的三种方式 Oozie有三种方法可以给工作流提供 ...

  9. Java:多线程,Exchanger同步器

    1. 背景 类java.util.concurrent.Exchanger提供了一个同步点,在这个同步点,一对线程可以交换数据.每个线程通过exchange()方法的入口提供数据给他的伙伴线程,并接收 ...

  10. Android基础知识之Manifest文件中的用户权限元素

    原文:http://android.eoe.cn/topic/android_sdk 分任务原文链接一:http://developer.android.com/guide/topics/manife ...