demo demo
/
LIS302HelloWorld
WHOAMI Example for the LIS302
main.cpp@0:51161d5d0bb2, 2010-02-23 (annotated)
- Committer:
- demo
- Date:
- Tue Feb 23 23:33:36 2010 +0000
- Revision:
- 0:51161d5d0bb2
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
demo | 0:51161d5d0bb2 | 1 | #include "mbed.h" |
demo | 0:51161d5d0bb2 | 2 | |
demo | 0:51161d5d0bb2 | 3 | SPI spi (p11, p12, p13); |
demo | 0:51161d5d0bb2 | 4 | DigitalOut cs (p10); |
demo | 0:51161d5d0bb2 | 5 | |
demo | 0:51161d5d0bb2 | 6 | int main() { |
demo | 0:51161d5d0bb2 | 7 | |
demo | 0:51161d5d0bb2 | 8 | spi.format(8, 3); // 8 bit, mode 3 (high clk, 2nd edge capture) |
demo | 0:51161d5d0bb2 | 9 | spi.frequency(1000000); // 1MHz clock rate |
demo | 0:51161d5d0bb2 | 10 | |
demo | 0:51161d5d0bb2 | 11 | // Enable the device, and all three channels |
demo | 0:51161d5d0bb2 | 12 | cs = 0; |
demo | 0:51161d5d0bb2 | 13 | spi.write(0x20); |
demo | 0:51161d5d0bb2 | 14 | spi.write(0x40); |
demo | 0:51161d5d0bb2 | 15 | cs = 1; |
demo | 0:51161d5d0bb2 | 16 | |
demo | 0:51161d5d0bb2 | 17 | wait (0.01); |
demo | 0:51161d5d0bb2 | 18 | |
demo | 0:51161d5d0bb2 | 19 | // Send the command to read the WHOAMI register |
demo | 0:51161d5d0bb2 | 20 | cs = 0; |
demo | 0:51161d5d0bb2 | 21 | spi.write(0x8F); |
demo | 0:51161d5d0bb2 | 22 | char value = spi.write(0x00); |
demo | 0:51161d5d0bb2 | 23 | cs = 1; |
demo | 0:51161d5d0bb2 | 24 | |
demo | 0:51161d5d0bb2 | 25 | printf("WHOAMI register contains 0x%X\n", value); |
demo | 0:51161d5d0bb2 | 26 | } |