Ilya Kazarin
/
spi
)))
main.cpp@0:69fc4661515e, 2019-03-25 (annotated)
- Committer:
- lucem1n
- Date:
- Mon Mar 25 12:13:12 2019 +0000
- Revision:
- 0:69fc4661515e
gosha dinah)
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
lucem1n | 0:69fc4661515e | 1 | #include "mbed.h" |
lucem1n | 0:69fc4661515e | 2 | |
lucem1n | 0:69fc4661515e | 3 | SPI spi(D11, D12, D13); |
lucem1n | 0:69fc4661515e | 4 | DigitalOut cs(D9); |
lucem1n | 0:69fc4661515e | 5 | AnalogOut my_output(PA_4); |
lucem1n | 0:69fc4661515e | 6 | int SIZE; |
lucem1n | 0:69fc4661515e | 7 | |
lucem1n | 0:69fc4661515e | 8 | int main() { |
lucem1n | 0:69fc4661515e | 9 | while(1) |
lucem1n | 0:69fc4661515e | 10 | { |
lucem1n | 0:69fc4661515e | 11 | // Chip must be deselected |
lucem1n | 0:69fc4661515e | 12 | cs = 1; |
lucem1n | 0:69fc4661515e | 13 | |
lucem1n | 0:69fc4661515e | 14 | // Setup the spi for 8 bit data, high steady state clock, |
lucem1n | 0:69fc4661515e | 15 | // second edge capture, with a 1MHz clock rate |
lucem1n | 0:69fc4661515e | 16 | spi.format(8,0); |
lucem1n | 0:69fc4661515e | 17 | spi.frequency(1000000); |
lucem1n | 0:69fc4661515e | 18 | |
lucem1n | 0:69fc4661515e | 19 | // Select the device by seting chip select low |
lucem1n | 0:69fc4661515e | 20 | cs = 0; |
lucem1n | 0:69fc4661515e | 21 | |
lucem1n | 0:69fc4661515e | 22 | // Send 0x8f, the command to read the WHOAMI register |
lucem1n | 0:69fc4661515e | 23 | spi.write(0x03); |
lucem1n | 0:69fc4661515e | 24 | spi.write(0x00); |
lucem1n | 0:69fc4661515e | 25 | spi.write(0x00); |
lucem1n | 0:69fc4661515e | 26 | spi.write(0x00); |
lucem1n | 0:69fc4661515e | 27 | |
lucem1n | 0:69fc4661515e | 28 | // Send a dummy byte to receive the contents of the WHOAMI register |
lucem1n | 0:69fc4661515e | 29 | SIZE = 600000; |
lucem1n | 0:69fc4661515e | 30 | for(int i=0; i<SIZE; i++) |
lucem1n | 0:69fc4661515e | 31 | { |
lucem1n | 0:69fc4661515e | 32 | uint16_t sample = spi.write(0x01); |
lucem1n | 0:69fc4661515e | 33 | // my_output.write_u16(sample); |
lucem1n | 0:69fc4661515e | 34 | //wait_us(125); |
lucem1n | 0:69fc4661515e | 35 | } |
lucem1n | 0:69fc4661515e | 36 | // Deselect the device |
lucem1n | 0:69fc4661515e | 37 | cs = 1; |
lucem1n | 0:69fc4661515e | 38 | } |
lucem1n | 0:69fc4661515e | 39 | } |