主题 : 求助:tiny6410里面ADC的预分频值怎么改啊?还有采样数少了很多 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 120241
精华: 0
发帖: 8
金钱: 40 两
威望: 8 点
综合积分: 16 分
注册时间: 2015-11-02
最后登录: 2016-03-12
楼主  发表于: 2015-12-22 16:47

 求助:tiny6410里面ADC的预分频值怎么改啊?还有采样数少了很多

用tiny6410的ADC做东西,驱动函数里面的open函数修改如下
static int s3c2410_adc_open(struct inode *inode, struct file *filp)
{
    init_waitqueue_head(&(adcdev.wait));

    adcdev.channel = 0;
    adcdev.prescale= 0x31;

    s3c_adctsc_save();

    /* Enable AIN0~7 */
    ADCTSC = 0x58;

    DPRINTK("adc opened\n");
    return 0;
}
想使预分频值改为50,但是跟默认的0xff没有区别啊。。。看驱动函数里面对prescale的定义就只有这里了。。难道可以在ioctl函数里面加么?

而且就算是默认的0xff,采样速度也比理论上慢了好多,看帖子说是要去掉触摸屏驱动,我通过make menuconfig ARCH=arm 禁用了touchscreens能行吗?但是速度还是很慢。。。并没有什么卵用啊