Linux kernel 使用raspberry pi上的定制驱动程序通过mcp3008(spi)读取TMP adc传感器数据

Linux kernel 使用raspberry pi上的定制驱动程序通过mcp3008(spi)读取TMP adc传感器数据,linux-kernel,raspberry-pi,linux-device-driver,Linux Kernel,Raspberry Pi,Linux Device Driver,我正在写一个没有iio支持的mcp3008设备驱动程序,用于学习。我已经跟随这个链接好几年了 我已附上我的护照 驱动程序已成功绑定到spi子系统,dmesg如下 [ 9.053293] bus: 'platform': driver_probe_device: matched device soc:audio with driver bcm2835_AUD0 [ 9.053316] bus: 'platform': really_probe: probing driver bcm28

我正在写一个没有iio支持的mcp3008设备驱动程序,用于学习。我已经跟随这个链接好几年了

我已附上我的护照

驱动程序已成功绑定到spi子系统,dmesg如下

[    9.053293] bus: 'platform': driver_probe_device: matched device soc:audio with driver bcm2835_AUD0
[    9.053316] bus: 'platform': really_probe: probing driver bcm2835_AUD0 with device soc:audio
[    9.103796] driver: 'bcm2835_AUD0': driver_bound: bound to device 'soc:audio'
[    9.103843] bus: 'platform': really_probe: bound device soc:audio to driver bcm2835_AUD0
[   11.703933] systemd-journald[116]: Received request to flush runtime journal from PID 1
[   13.170530] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
[   14.801684] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
[   16.057113] Adding 102396k swap on /var/swap.  Priority:-1 extents:3 across:1773568k SSFS
[   26.739940] random: crng init done
[   66.338696] bus: 'spi': driver_probe_device: matched device spi0.1 with driver aartyaa_mcp3008
[   66.338720] bus: 'spi': really_probe: probing driver aartyaa_mcp3008 with device spi0.1
[   66.338831] aartyaa_mcp3008 spi0.1: aaartyaa came in probe, master dev = spi0
[   66.338845] aartyaa_mcp3008 spi0.1: mcp3008_device_alloc : devres is allocated
[   66.338855] aartyaa_mcp3008 spi0.1: mcp3008_device_alloc : dev is added to devres
[   66.338864] aartyaa_mcp3008 spi0.1: mcp3008_probe : trasefer buffer is ready
[   66.338871] aartyaa_mcp3008 spi0.1: mcp3008_probe : initing spi msg
[   66.338881] aartyaa_mcp3008 spi0.1: mcp3008_probe : creating sysfs for mcp3008
[   66.338912] driver: 'aartyaa_mcp3008': driver_bound: bound to device 'spi0.1'
[   66.338946] bus: 'spi': really_probe: bound device spi0.1 to driver aartyaa_mcp3008
我已将TMP36连接到mcp3008的通道1。我正在尝试读取sysfs条目中的模拟值(/sys/bus/spi/devices/spi0.1/aartyaa_mcp3008)

我也尝试过把3V3给channel1。但我无法读取adc值。dmesg是as=>

[  101.311640] aartyaa_mcp3008 spi0.1: mcp3008_aartyaa_show_data
[  101.311807] aartyaa_mcp3008 spi0.1: mcp3008_conversion : ret = 0
[  101.311822] aartyaa_mcp3008 spi0.1: mcp3008_aartyaa_show_data : ret = 0
如何使用此驱动程序读取mcp3008上的TMP36 adc值。 任何帮助都将不胜感激。

不便之处,敬请原谅。 CE和恭敬引脚在电路板上连接错误

司机工作正常,正如预期的那样

谢谢