- 积分
- 8
贡献62
飞刀16 FD
注册时间2025-4-13
在线时间1 小时


|
本帖最后由 lingjun 于 2025-10-27 15:53 编辑
GPIO4 PB2开发板默认是作为SARADC_IN2 ADC使用,我想改成GPIO口输入,在dts里面配置了,但读到的值始终是0
saradc {
// 通道1作为ADC
saradc_ch1: saradc-ch1 {
rockchip,pins = <4 RK_PB1 1 &pcfg_pull_none>;
};
// 其他通道作为GPIO
saradc_ch0_gpio: saradc-ch0-gpio {
rockchip,pins = <4 RK_PB0 1 &pcfg_pull_none>;
};
saradc_ch2_gpio: saradc-ch2-gpio {
rockchip,pins = <4 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
};
saradc_ch3_gpio: saradc-ch3-gpio {
rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
mylabe: my_trigger0 {
compatible = "iio_interrupt_trigger";
pinctrl-names = "default";
pinctrl-0 = <&adc_irq_gpio>;
interrupt-parent = <&gpio1>;
interrupts = <RK_PB2 IRQ_TYPE_EDGE_FALLING>;
gpios = <&gpio4 RK_PB2 GPIO_ACTIVE_LOW>;
status = "okay";
};
root@ok3506-buildroot:/sys/bus/iio/devices/iio:devicel# cd /sys/class/gpio/
root@ok3506-buildroot:/sys/class/gpio#ls
export gpiochipo gpiochip128 gpiochip32 gpiochip64 gpiochip96 unexport
root@ok3506-buildroot:/sys/class/gpio# echo 138 > export
root@ok3506-buildroot:/sys/class/gpio# cd gpio138
root@ok3506-buildroot:/sys/class/gpio/gpio138#ls
active lowdevice direction edge powersubsvstem ueventvalue
root@ok3506-buildroot:/sys/class/gpio/gpio138# cat direction
in
root@ok3506-buildroot:/sys/class/gpio/gpio138# cat value
0
root@ok3506-buildroot:/sys/class/gpio/gpio138# cat value
0
root@ok3506-buildroot:/sys/class/gpio/gpio138# echo out > direction
root@ok3506-buildroot:/sys/class/gpio/gpio138# cat value
root@ok3506-buildroot:/sys/class/gpio/gpio138#:echo 1>value
root@ok3506-buildroot:/sys/class/gpio/gpio138# cat value
0
rootdok3506-buildroot:/sys/class/gpio/gpio138#echo 0>value
root@ok3506-buildroot:/sys/class/gpio/gpio138#cat value
0
root@ok3506-buildroot:/sys/class/gpio/gpio138#echo 1>value
root@ok3506-buildroot:/sys/class/gpio/gpio138# cat value
0
root@ok3506-buildroot:/sys/class/gpio/gpio138#
作为输入时,无论输入0,1,cat value始终是0
作为输出,万用表量可以输出0,1;但cat value都是0
|
|