当前位置:  技术问答>linux和unix

为什么我的A/D驱动读出的数据都是一样的呀?

    来源: 互联网  发布时间:2016-05-01

    本文导语:  大家帮忙看一下,我的A/D驱动,使用中断方式,读出的数据没有变化,为什么? #include  #include  #include  #include  #include  #include    /* printk() */ #include    /* kmalloc() */ #include        /* everything... */ #include ...

大家帮忙看一下,我的A/D驱动,使用中断方式,读出的数据没有变化,为什么?
#include 
#include 
#include 
#include 
#include 
#include    /* printk() */
#include    /* kmalloc() */
#include        /* everything... */
#include     /* error codes */
#include     /* size_t */
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include "s3c2410-adc.h"

#include 
#include 
 
#define DEVICE_NAME "adc"
static int adc_major = 252;
typedef struct {
 struct semaphore lock;          
 wait_queue_head_t wait;         
 int channel;
 int prescale;
}ADC_DEV;
static ADC_DEV adcdev;
int IRQ_flag=64;                 

static unsigned long *adccon, *adctsc, *adcdly, *adcdat0, *adcdat1, *adcupdn;     

static irqreturn_t adcdone_int_handler(int irq,void *dev_id,struct pt_regs *regs)  //*********irq_handle()********//
{
 wake_up(&adcdev.wait);           
 printk("wake_up adcdev.wait ...n");
 return IRQ_HANDLED; 
}
static int s3c2410_adc_open(struct inode *inode, struct file *filp)                        //********open()***********//
{  
 init_MUTEX(&adcdev.lock);                                  
 init_waitqueue_head(&(adcdev.wait));                       

 adcdev.channel=0;
 adcdev.prescale=19;            //#define IRQ_FREQ 2500000 prescale=50000000/IRQ_FREQ-1;
  printk("open OKn");
 //try_module_get(THIS_MODULE); 

 return 0;
}
static ssize_t s3c2410_adc_write(struct file *file, const char *buffer, size_t count, loff_t * ppos)//*****write()*****//
{
 return 0;
}
static ssize_t s3c2410_adc_read(struct file *filp, char *buffer, size_t count, loff_t *ppos)//*********read()**********//
{
 int ret = 0;
 int i=0;
 unsigned long temp0,temp1;
 if (down_interruptible(&adcdev.lock))            
  return -ERESTARTSYS;
 writel((readl(S3C2410_CLKCON) | S3C2410_CLKCON_ADC),S3C2410_CLKCON);        //
 writel((0x01

    
 
 

您可能感兴趣的文章:

  • SPI驱动能够写寄存器,不能读出寄存器
  • php中内置的mysql数据库连接驱动mysqlnd简介及mysqlnd的配置安装方式
  • 我在servlet用了sqlserver2000的JDBC驱动访问数据库,当servlet放在tomcat中时,如何设置tomcat使它能找到驱动?
  • 强人,linux下驱动相关数据结构和usb设备数据结构之间的功能分析
  • java通过jdbc访问数据库流行采用何种数据库驱动程序?jdbc-odbc , InterClient , 还是“网络协议/全java驱动程序”?如有可能,请给简明
  • java开发数据库,一般是用JDBC-ODBC桥,还是JDBC驱动程序连接数据库呢?
  • 各位大虾!!如果我用jdbc-odbc桥的数据库驱动,那岂不是当在本地机上做好网站之后,还需要在服务器上重新定义数据苦于数据源!但这是不
  • Java 驱动数据库???
  • 异步数据库驱动程序 ADBCJ
  • 讨论:内核,驱动,用户空间大批量数据交换的最佳方式
  • 通过JdbcOdbcDriver连接Access出现“未发现数据源名称并且未指定默认驱动程序”
  • 数据库用access需要驱动吗?
  • 请问数据库驱动类应该放在哪里?
  • 网卡驱动程序往外发送数据包的问题
  • 哪里有免费的对应MS SQL server的JAVA数据库驱动程序。
  • 请问某个数据库(如oracle)的jdbc驱动程序是不是在所有平台下通用?
  • 通过linux驱动接口读取串口来自另外一个CPU发送的数据,有几个疑问:
  • 关于数据库JDBC驱动程序
  • mysql数据库的JDBC驱动程序为什么出现错误?
  • Cego数据库的JDBC驱动 cegojdbc
  • sql server数据库有没有专门的jdbc驱动程序,若有,请教怎样获得?
  • OLAP数据源的JDBC驱动 Jdbc4Olap
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • UIO(linux Userspace I/O子系统)用户空间设备驱动I/O技术介绍
  • 字符设备驱动,混杂设备驱动,总线、设备、驱动模型、平台驱动
  • 好不容易下到sis900网卡for unix的驱动,但装上驱动后系统驱动时: SiS900 adapter initialization failure!
  • 我的网卡在redhat7.3下不能自动驱动,但我有for linux的驱动程序,请问如何才能驱动我的网卡,我是菜菜,请详细说明,谢谢!
  • Linux环境下,“PC机的驱动”与“嵌入式驱动”有什么区别?
  • linux:怎么在驱动中调用IIC驱动?
  • linux驱动 单片机驱动
  • linux下一个驱动怎么调用另一个驱动
  • u boot中怎样写flash驱动以及串口驱动
  • Linux环境下,如何一个驱动中调用另外一个驱动
  • 一个驱动文件,生成多个驱动模块??
  • -------------- 请问大家,做好一个PCI设备驱动了,如何做个应用程序来使用这个驱动呢??
  • pcie驱动和pci驱动
  • usb驱动中 hcd,pcd,device,gadget驱动有什么区别啊?
  • 移植pci驱动和RTL8139网卡驱动,只发生一次中断?
  • 想试着编写简单驱动玩,但是手头上没有什么好驱动的设备,大家支招
  • 请教有关linux驱动开发,按关机键关机时,驱动应作哪些结束工作?
  • Linux源代码中ata驱动为什么要调用pci驱动的代码
  • Linux设备驱动(第三版)- 字符设备驱动 - 例子
  • Linux 9.0+865G,只能上到640×480,Intel官方站点的最新驱动安装失败,那位有驱动?
  • insmod 加载驱动模块后,重启后驱动为什么没有了


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3