TEAMUSB / Mbed 2 deprecated SPI_master_frdm

Dependencies:   mbed

Fork of SPI_master_lpc11u53 by TEAMUSB

Committer:
armdran
Date:
Wed Apr 01 09:05:22 2015 +0000
Revision:
3:8f2dc71bae92
Parent:
2:52f588020826
Child:
4:995eae7f13f4
spi master on frdm

Who changed what in which revision?

UserRevisionLine numberNew contents of line
armdran 0:244a4a925723 1 #include "mbed.h"
armdran 0:244a4a925723 2
armdran 0:244a4a925723 3 //SPI Master
armdran 0:244a4a925723 4
armdran 3:8f2dc71bae92 5 SPI spi(D11, D12, D13); // mosi, miso, sclk
armdran 3:8f2dc71bae92 6 //SPI spi(PTA16, PTA17, PTA15);
armdran 0:244a4a925723 7 Serial pc(USBTX, USBRX);
armdran 0:244a4a925723 8 DigitalOut led(LED1);
armdran 3:8f2dc71bae92 9 DigitalOut cs(D10);
armdran 3:8f2dc71bae92 10 //DigitalOut cs(PTB9);
armdran 3:8f2dc71bae92 11 //DigitalOut cs(D8);
armdran 3:8f2dc71bae92 12 //DigitalOut cs(PTA14);
armdran 0:244a4a925723 13
armdran 0:244a4a925723 14 int main() {
armdran 0:244a4a925723 15
armdran 3:8f2dc71bae92 16 spi.format(8,0);
armdran 3:8f2dc71bae92 17 spi.frequency(100000);
armdran 1:4445caa57b32 18 uint8_t i;
armdran 1:4445caa57b32 19 int j = 0;
armdran 1:4445caa57b32 20 uint8_t fail;
armdran 1:4445caa57b32 21 uint8_t success;
armdran 1:4445caa57b32 22
armdran 0:244a4a925723 23 while(1) {
armdran 1:4445caa57b32 24 fail = 0;
armdran 1:4445caa57b32 25 success = 0;
armdran 1:4445caa57b32 26
armdran 3:8f2dc71bae92 27 for (i = 0; i < 10; i++) {
armdran 0:244a4a925723 28
armdran 3:8f2dc71bae92 29
armdran 3:8f2dc71bae92 30 wait_ms(100);
armdran 1:4445caa57b32 31 cs = 0;
armdran 3:8f2dc71bae92 32 wait_ms(100);
armdran 1:4445caa57b32 33 spi.write(i);
armdran 3:8f2dc71bae92 34 wait_ms(100);
armdran 1:4445caa57b32 35 cs = 1;
armdran 3:8f2dc71bae92 36
armdran 3:8f2dc71bae92 37 wait_ms(100);
armdran 3:8f2dc71bae92 38
armdran 1:4445caa57b32 39 cs = 0;
armdran 3:8f2dc71bae92 40 wait_ms(100);
armdran 1:4445caa57b32 41 uint8_t response = spi.write(0xFF);
armdran 3:8f2dc71bae92 42 wait_ms(100);
armdran 1:4445caa57b32 43 cs = 1;
armdran 3:8f2dc71bae92 44 wait_ms(100);
armdran 3:8f2dc71bae92 45
armdran 3:8f2dc71bae92 46 printf("instruction: %x response: %x\r\n", i, response);
armdran 1:4445caa57b32 47
armdran 1:4445caa57b32 48 if(response == i + 0x10) {
armdran 1:4445caa57b32 49 success++;
armdran 1:4445caa57b32 50 } else {
armdran 1:4445caa57b32 51 fail++;
armdran 1:4445caa57b32 52 }
armdran 1:4445caa57b32 53
armdran 3:8f2dc71bae92 54 wait_ms(500);
armdran 3:8f2dc71bae92 55
armdran 1:4445caa57b32 56 }
armdran 0:244a4a925723 57
armdran 1:4445caa57b32 58 pc.printf("%d: fails: %d, success: %d\r\n",j++ , fail, success);
armdran 3:8f2dc71bae92 59 wait(1.5);
armdran 1:4445caa57b32 60
armdran 0:244a4a925723 61 }
armdran 0:244a4a925723 62
armdran 1:4445caa57b32 63
armdran 0:244a4a925723 64 }