要通过mcp3008(spi)上的定制驱动程序读取TMP adc传感器数据在树莓派上
问题描述:
我正在写一个没有iio支持的mcp3008设备驱动程序以用于学习目的。我已按照此链接pin connections。我已附上我的source code。要通过mcp3008(spi)上的定制驱动程序读取TMP adc传感器数据在树莓派上
驱动被成功地结合到SPI SUBSYS,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)。
我曾尝试给3通道以及3V3。但我无法读取adc值。 dmesg is 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和特殊引脚错误地连接在板上。
驱动程序正常工作,因为它是预期的。
谢谢。