Marco Zecchini
/
Example_RTOS
Rtos API example
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 #include "mbed.h" 00002 #include "test_env.h" 00003 00004 #if !DEVICE_SPI 00005 #error [NOT_SUPPORTED] SPI not supported 00006 #endif 00007 00008 #if defined(TARGET_KL25Z) 00009 SPI spi(PTD2, PTD3, PTD1); // mosi, miso, sclk 00010 DigitalOut cs(PTA13); 00011 #elif defined(TARGET_KL05Z) 00012 SPI spi(PTA7, PTA6, PTB0); // mosi, miso, sclk 00013 DigitalOut cs(PTB1); 00014 #elif defined(TARGET_KL46Z) 00015 SPI spi(PTD2, PTD3, PTD1); // mosi, miso, sclk 00016 DigitalOut cs(PTA13); 00017 #elif defined(TARGET_ELMO_F411RE) 00018 SPI spi(PB_15, PB_14, PB_13); // mosi, miso, sclk 00019 DigitalOut cs(PB_12); 00020 #elif defined(TARGET_FF_ARDUINO) 00021 SPI spi(D11, D12, D13); // mosi, miso, sclk 00022 DigitalOut cs(D10); 00023 #elif defined(TARGET_EFM32LG_STK3600) || defined(TARGET_EFM32GG_STK3700) || defined(TARGET_EFM32WG_STK3800) 00024 SPI spi(PD0, PD1, PD2); // mosi, miso, sclk 00025 DigitalOut cs(PD3); 00026 #elif defined(TARGET_EFM32ZG_STK3200) 00027 SPI spi(PD7, PD6, PC15); // mosi, miso, sclk 00028 DigitalOut cs(PC14); 00029 #elif defined(TARGET_EFM32HG_STK3400) 00030 SPI spi(PE10, PE11, PE12); // mosi, miso, sclk 00031 DigitalOut cs(PE13); 00032 #elif defined(TARGET_EFM32PG_STK3401) 00033 SPI spi(PC6, PC7, PC8); // mosi, miso, sclk 00034 DigitalOut cs(PC9); 00035 #elif defined(TARGET_SAMR21G18A) 00036 SPI spi(PB22, PB02, PB23); // mosi, miso, sclk 00037 DigitalOut cs(PB03); 00038 #elif defined(TARGET_SAMD21J18A) || defined(TARGET_SAMD21G18A) || defined(TARGET_SAML21J18A) 00039 SPI spi(PA18, PA16, PA19); // mosi, miso, sclk 00040 DigitalOut cs(PA17); 00041 #elif defined(TARGET_SAMG55J19) 00042 SPI spi(PA10, PA09, PB00, PA25); // mosi, miso, sclk cs 00043 DigitalOut cs(PA25); 00044 #else 00045 SPI spi(p5, p6, p7); // mosi, miso, sclk 00046 DigitalOut cs(p8); 00047 #endif 00048 00049 int main() { 00050 int data = 0; 00051 int res = 0; 00052 00053 for(int i = 0; i < 30; i++) { 00054 00055 cs = 0; 00056 res = spi.write(data++); 00057 cs = 1; 00058 00059 wait_ms(0.001); 00060 00061 if ((i > 1) && ((res + 2) != data)) 00062 notify_completion(false); 00063 } 00064 00065 notify_completion(true); 00066 }
Generated on Sun Jul 17 2022 08:25:26 by 1.7.2