mbed-os/features/unsupported/tests/mbed/spi_master/main.cpp

67 lines
1.8 KiB
C++

#include "mbed.h"
#include "test_env.h"
#if !DEVICE_SPI
#error [NOT_SUPPORTED] SPI not supported
#endif
#if defined(TARGET_KL25Z)
SPI spi(PTD2, PTD3, PTD1); // mosi, miso, sclk
DigitalOut cs(PTA13);
#elif defined(TARGET_KL05Z)
SPI spi(PTA7, PTA6, PTB0); // mosi, miso, sclk
DigitalOut cs(PTB1);
#elif defined(TARGET_KL46Z)
SPI spi(PTD2, PTD3, PTD1); // mosi, miso, sclk
DigitalOut cs(PTA13);
#elif defined(TARGET_ELMO_F411RE)
SPI spi(PB_15, PB_14, PB_13); // mosi, miso, sclk
DigitalOut cs(PB_12);
#elif defined(TARGET_FF_ARDUINO)
SPI spi(D11, D12, D13); // mosi, miso, sclk
DigitalOut cs(D10);
#elif defined(TARGET_EFM32LG_STK3600) || defined(TARGET_EFM32GG_STK3700) || defined(TARGET_EFM32WG_STK3800)
SPI spi(PD0, PD1, PD2); // mosi, miso, sclk
DigitalOut cs(PD3);
#elif defined(TARGET_EFM32ZG_STK3200)
SPI spi(PD7, PD6, PC15); // mosi, miso, sclk
DigitalOut cs(PC14);
#elif defined(TARGET_EFM32HG_STK3400)
SPI spi(PE10, PE11, PE12); // mosi, miso, sclk
DigitalOut cs(PE13);
#elif defined(TARGET_EFM32PG_STK3401)
SPI spi(PC6, PC7, PC8); // mosi, miso, sclk
DigitalOut cs(PC9);
#elif defined(TARGET_SAMR21G18A)
SPI spi(PB22, PB02, PB23); // mosi, miso, sclk
DigitalOut cs(PB03);
#elif defined(TARGET_SAMD21J18A) || defined(TARGET_SAMD21G18A) || defined(TARGET_SAML21J18A)
SPI spi(PA18, PA16, PA19); // mosi, miso, sclk
DigitalOut cs(PA17);
#elif defined(TARGET_SAMG55J19)
SPI spi(PA10, PA09, PB00, PA25); // mosi, miso, sclk cs
DigitalOut cs(PA25);
#else
SPI spi(p5, p6, p7); // mosi, miso, sclk
DigitalOut cs(p8);
#endif
int main() {
int data = 0;
int res = 0;
for(int i = 0; i < 30; i++) {
cs = 0;
res = spi.write(data++);
cs = 1;
wait_ms(0.001);
if ((i > 1) && ((res + 2) != data))
notify_completion(false);
}
notify_completion(true);
}