![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
This code acts as the master controlling the slave actions, done using FRDM_KL_25Z
Dependencies: mbed
main.cpp@0:7478eb44f4b1, 2016-07-29 (annotated)
- Committer:
- suhasini
- Date:
- Fri Jul 29 10:00:16 2016 +0000
- Revision:
- 0:7478eb44f4b1
Master code using FRDM board
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
suhasini | 0:7478eb44f4b1 | 1 | #include "mbed.h" |
suhasini | 0:7478eb44f4b1 | 2 | |
suhasini | 0:7478eb44f4b1 | 3 | SPI spi(PTD2, PTD3, PTD1); // mosi, miso, sclk |
suhasini | 0:7478eb44f4b1 | 4 | DigitalOut cs(PTD0); |
suhasini | 0:7478eb44f4b1 | 5 | Serial pc(USBTX,USBRX); |
suhasini | 0:7478eb44f4b1 | 6 | |
suhasini | 0:7478eb44f4b1 | 7 | |
suhasini | 0:7478eb44f4b1 | 8 | int main() { |
suhasini | 0:7478eb44f4b1 | 9 | pc.baud(115200); |
suhasini | 0:7478eb44f4b1 | 10 | // Chip must be deselected |
suhasini | 0:7478eb44f4b1 | 11 | cs = 1; |
suhasini | 0:7478eb44f4b1 | 12 | |
suhasini | 0:7478eb44f4b1 | 13 | // Setup the spi for 8 bit data, high steady state clock, |
suhasini | 0:7478eb44f4b1 | 14 | // second edge capture, with a 1MHz clock rate |
suhasini | 0:7478eb44f4b1 | 15 | spi.format(8,1); |
suhasini | 0:7478eb44f4b1 | 16 | //spi.frequency(1000000); |
suhasini | 0:7478eb44f4b1 | 17 | spi.frequency(512000); //internal clock frequency of ADS1291 |
suhasini | 0:7478eb44f4b1 | 18 | |
suhasini | 0:7478eb44f4b1 | 19 | // Select the device by setting chip select low |
suhasini | 0:7478eb44f4b1 | 20 | cs = 0; |
suhasini | 0:7478eb44f4b1 | 21 | int v=0; |
suhasini | 0:7478eb44f4b1 | 22 | // Send 0x8f, the command to read the WHOAMI register |
suhasini | 0:7478eb44f4b1 | 23 | spi.write(0x8F); |
suhasini | 0:7478eb44f4b1 | 24 | |
suhasini | 0:7478eb44f4b1 | 25 | |
suhasini | 0:7478eb44f4b1 | 26 | // Send a dummy byte to receive the contents of the WHOAMI register |
suhasini | 0:7478eb44f4b1 | 27 | int whoami = spi.write(0x00); |
suhasini | 0:7478eb44f4b1 | 28 | // printf("WHOAMI register = 0x%X\n", whoami); |
suhasini | 0:7478eb44f4b1 | 29 | while(1) |
suhasini | 0:7478eb44f4b1 | 30 | { |
suhasini | 0:7478eb44f4b1 | 31 | wait(1); |
suhasini | 0:7478eb44f4b1 | 32 | |
suhasini | 0:7478eb44f4b1 | 33 | spi.write(v); |
suhasini | 0:7478eb44f4b1 | 34 | pc.printf("read the data %d",v); |
suhasini | 0:7478eb44f4b1 | 35 | //led = !led; |
suhasini | 0:7478eb44f4b1 | 36 | if(v==255) |
suhasini | 0:7478eb44f4b1 | 37 | v=0; |
suhasini | 0:7478eb44f4b1 | 38 | else |
suhasini | 0:7478eb44f4b1 | 39 | v=v+1; |
suhasini | 0:7478eb44f4b1 | 40 | } |
suhasini | 0:7478eb44f4b1 | 41 | // Deselect the device |
suhasini | 0:7478eb44f4b1 | 42 | cs = 1; |
suhasini | 0:7478eb44f4b1 | 43 | } |