Firely-RK3288 ADC驱动
本帖最后由 madman 于 2016-3-2 11:53 编辑继续来整理下adc模块的驱动,在rk封装好的接口上使用adc接口还是很方便的,具体的类似adc标准电压之类的东西可以在rk3288.dts上配置, adc: adc@ff100000 {
compatible = "rockchip,saradc";
reg = <0xff100000 0x100>;
interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
#io-channel-cells = <1>;
io-channel-ranges;
rockchip,adc-vref = <1800>;
clock-frequency = <1000000>;
clocks = <&clk_saradc>, <&clk_gates7 1>;
clock-names = "saradc", "pclk_saradc";
status = "disabled";
};
读出来的adc可以根据这公式转换:Vref / (2^n-1) = Vresult / raw
其中 Vref 为标准电压 n 为 AD 转换的位数 Vresult 为用户所需要的采集电压 raw 为 AD 采集的原始数据
在dts添加对应配置
&adc {
status = "okay";
rockchip_headset {
compatible = "rockchip_headset";
headset_gpio = <&gpio0 GPIO_C2 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&gpio0_c2>;
io-channels = <&adc 2>;
};
adc0{
compatible = "test-adc0";
io-channels=<&adc 0>;
};这里我的标准电压是1.8v,所以测量的范围就是0-1.8v。写了个简单的接口。
下面是测试的效果:
很好,多分享进步快 :) 很好,学习 谢谢,学习了! 拿来测试用,不错。 谢谢。学习啦{:3_42:} 很好,多分享进步快 学习
学习啦...给力... thx !!!!!!