SPI read from and write to a sensor

37 views
Skip to first unread message

Dajiang He

unread,
Apr 23, 2015, 10:35:24 PM4/23/15
to beagl...@googlegroups.com
Hi,

I am using BB Black to work with a motion sensor through SPI.

By doing 

echo BB-SPIDEV0 > /sys/devices/bone_capemgr.9/slots

I am able to get /dev/spidev1.0 and /dev/spidev1.1, which are supposed to be output and input PIN of SPI0 in mode0. I wire P9 pin 18 and 21, and tested spidev_test.c, and I got the expected results.

However,after I wire my sensor PINS of MISO, MOSI, CS, VDD, and GND to BB Black's corresponding PINS, and use functions ioctl(fd, SPI_IOC_MESSAGE(1), &tr); to read one byte (a known value) from a register in the motion sensor, I cannot get what I want. I guess there are some settings I may not get them right. 

Can any expert show me what are the proper ways/procedure to
1, read n bytes from the sensor starting from a register 
2, write n bytes to the sensor 

In the spidev_test example, I use either /dev/spidev1.0 or /dev/spidev1.1, I can get the expected result. In my sensor case, which device handle shall I use? From the DTS description, spidev1.1 is the output PIN. So shall I use spidev1.1 to do writing and then read from spidev1.0?

Ravi kumar

unread,
Oct 7, 2016, 9:00:37 AM10/7/16
to BeagleBoard
Hello
Actually I was also facing the same problem but you don't have to change the setting but you have to modify the spidev_test.c program instead of transfer(fd) you have to make two function i.e; transfer(fd, write) and transfer(fd, read) and there you have to provide the value.
Reply all
Reply to author
Forward
0 new messages