要通过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和特殊引脚错误地连接在板上。

驱动程序正常工作,因为它是预期的。

谢谢。