SPI Master Test
Dependencies: mbed-rtos mbed st7565LCD
Diff: main.cpp
- Revision:
- 7:4bb0c1e05e33
- Parent:
- 6:66955ebd56dd
--- a/main.cpp Tue Oct 04 05:25:37 2016 +0000 +++ b/main.cpp Tue Oct 04 06:42:29 2016 +0000 @@ -2,9 +2,8 @@ #include "rtos.h" #include "st7565LCD.h" -#define SPI_SPEED (4000000) -#define SPI_DUMMY_DATA (0x55) -#define LOOP_N (8) +#define SPI_SPEED (4000000) +#define SPI_HEADER (0x55) BusIn Switches(PA_0, PA_1, PA_4, PB_0, PC_1, PC_0); @@ -54,7 +53,7 @@ // Setup SPI SpiMCs = 1; - SpiM.format(8, 0); + SpiM.format(16, 0); SpiM.frequency(SPI_SPEED); Thread::wait(1000); @@ -62,24 +61,19 @@ uint8_t count = 0; for (;;) { + uint16_t sendVal = (SPI_HEADER << 8) | count; SpiMCs = 0; - int step = -1; - for (int i = 0; i < LOOP_N; i++) { - uint8_t recievedVal = SpiM.write(count); - if (isStepChanged) { - step = recievedVal; - isStepChanged = false; - } - count++; - } + uint16_t receivedVal = SpiM.write(sendVal); SpiMCs = 1; - if (step != -1) { + count++; + if (isStepChanged) { char lineBuffer[20]; - sprintf(lineBuffer, "Step: %02d", step); + sprintf(lineBuffer, "Step: %02d", receivedVal); gLCD.drawstring(0, 0, lineBuffer); gLCD.display(); + isStepChanged = false; + } Thread::wait(1); - //wait_us(100); } }