SPI Slave Test.

Dependencies:   mbed-rtos mbed

Committer:
ryood
Date:
Tue Sep 27 06:00:48 2016 +0000
Revision:
0:4cc5b11f7d91
Child:
1:ba17cd3b6ecf
Transfer in while loop.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ryood 0:4cc5b11f7d91 1 #include "mbed.h"
ryood 0:4cc5b11f7d91 2 #include "rtos.h"
ryood 0:4cc5b11f7d91 3 #include "SPISlave.h"
ryood 0:4cc5b11f7d91 4
ryood 0:4cc5b11f7d91 5 #define SPI_SPEED (10000000)
ryood 0:4cc5b11f7d91 6
ryood 0:4cc5b11f7d91 7 BusOut Leds(PA_10, PB_3, PB_5, PB_4, PB_10, PA_8);
ryood 0:4cc5b11f7d91 8
ryood 0:4cc5b11f7d91 9 SPISlave SpiS(PA_7, PA_6, PA_5, PA_4); // mosi, miso, sclk, ssel
ryood 0:4cc5b11f7d91 10
ryood 0:4cc5b11f7d91 11 int main()
ryood 0:4cc5b11f7d91 12 {
ryood 0:4cc5b11f7d91 13 printf("\r\n\nNucleo rtos SPISlave Test..\r\n");
ryood 0:4cc5b11f7d91 14
ryood 0:4cc5b11f7d91 15 for (int i = 0; i < 5; i++) {
ryood 0:4cc5b11f7d91 16 Leds.write(0x3f);
ryood 0:4cc5b11f7d91 17 Thread::wait(100);
ryood 0:4cc5b11f7d91 18 Leds.write(0x00);
ryood 0:4cc5b11f7d91 19 Thread::wait(100);
ryood 0:4cc5b11f7d91 20 }
ryood 0:4cc5b11f7d91 21
ryood 0:4cc5b11f7d91 22 SpiS.format(8, 0);
ryood 0:4cc5b11f7d91 23 SpiS.frequency(SPI_SPEED);
ryood 0:4cc5b11f7d91 24
ryood 0:4cc5b11f7d91 25 unsigned int count = 0;
ryood 0:4cc5b11f7d91 26 SpiS.reply(0);
ryood 0:4cc5b11f7d91 27 while(1) {
ryood 0:4cc5b11f7d91 28 if(SpiS.receive()) {
ryood 0:4cc5b11f7d91 29 int v = SpiS.read(); // Read byte from master
ryood 0:4cc5b11f7d91 30 Leds.write(v);
ryood 0:4cc5b11f7d91 31 SpiS.reply(count % 16);
ryood 0:4cc5b11f7d91 32 count++;
ryood 0:4cc5b11f7d91 33 }
ryood 0:4cc5b11f7d91 34 }
ryood 0:4cc5b11f7d91 35 }