Ryo Od
/
Nucleo_rtos_SPISlave_Test
SPI Slave Test.
main.cpp@0:4cc5b11f7d91, 2016-09-27 (annotated)
- 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?
User | Revision | Line number | New 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 | } |