sunsavious 发表于 2016-11-17 09:13:20

关于读取ADC值检测设备电池电量

设备使用S3C6410,硬件ADC接口用的是ADCIN1,使用int fd = ::open(ADCDEVICE,1)测试显示read错误。这可能是什么原因?同时未使用的ADCIN0,ADCIN2却能读到值,但读到的值不稳定,也不知道其原委。

飞凌-chongzi 发表于 2016-11-21 10:45:37

您好:
    您的硬件连接方面没有问题吧,我没有做过类似工作,您能大致说一下您的工作流程吗

sunsavious 发表于 2016-11-23 13:44:55

飞凌-chongzi 发表于 2016-11-21 10:45
您好:
    您的硬件连接方面没有问题吧,我没有做过类似工作,您能大致说一下您的工作流程吗

目的是检测设备电池电量.

sunsavious 发表于 2016-11-23 13:49:51

sunsavious 发表于 2016-11-23 13:44
目的是检测设备电池电量.

同时AD端口有电压输出,这样的话是不是驱动有问题?但对ADCIN1口读取数据的返回值-1

sunsavious 发表于 2016-11-23 15:21:21

sunsavious 发表于 2016-11-23 13:49
同时AD端口有电压输出,这样的话是不是驱动有问题?但对ADCIN1口读取数据的返回值-1

请教:在/drivers/char/forlinx6410_adc.c中有以下代码,
static int s3c2410_adc_open(struct inode *inode, struct file *filp)
{
        init_waitqueue_head(&(adcdev.wait));

        adcdev.channel=0;
        adcdev.prescale=0xff;

        DPRINTK("adc opened\n");
        return 0;
}
是不是说明ad读取的只能是ADCIN0口,其它口都读不到?即在应用层设置int fd = ::open(ADCDEVICE,1)时不管是不是1,都读0口,是吗?
页: [1]
查看完整版本: 关于读取ADC值检测设备电池电量