Test program running on MAX32625MBED. Control through USB Serial commands using a terminal emulator such as teraterm or putty.
Dependencies: MaximTinyTester CmdLine MAX541 USBDevice
Diff: main.cpp
- Revision:
- 14:cbe972986136
- Parent:
- 13:e36d51f46794
- Child:
- 15:2c21eaa9188b
diff -r e36d51f46794 -r cbe972986136 main.cpp --- a/main.cpp Fri Jul 12 06:37:06 2019 +0000 +++ b/main.cpp Sun Jul 14 03:16:54 2019 +0000 @@ -502,6 +502,32 @@ // #endif // +#if defined(TARGET_MAX32630) + // Before setting global variables g_SPI_SCLK_Hz and g_SPI_dataMode, + // workaround for TARGET_MAX32630 SPI_MODE2 SPI_MODE3 problem (issue #30) +#warning "MAX32630 SPI workaround..." + // replace SPI_MODE2 (CPOL=1,CPHA=0) with SPI_MODE1 (CPOL=0,CPHA=1) Falling Edge stable + // replace SPI_MODE3 (CPOL=1,CPHA=1) with SPI_MODE0 (CPOL=0,CPHA=0) Rising Edge stable +# if ((SPI_dataMode) == (SPI_MODE2)) +#warning "MAX32630 SPI_MODE2 workaround, changing SPI_dataMode to SPI_MODE1..." + // SPI_dataMode SPI_MODE2 // CPOL=1,CPHA=0: Falling Edge stable; SCLK idle High +# undef SPI_dataMode +# define SPI_dataMode SPI_MODE1 // CPOL=0,CPHA=1: Falling Edge stable; SCLK idle Low +# elif ((SPI_dataMode) == (SPI_MODE3)) +#warning "MAX32630 SPI_MODE3 workaround, changing SPI_dataMode to SPI_MODE0..." + // SPI_dataMode SPI_MODE3 // CPOL=1,CPHA=1: Rising Edge stable; SCLK idle High +# undef SPI_dataMode +# define SPI_dataMode SPI_MODE0 // CPOL=0,CPHA=0: Rising Edge stable; SCLK idle Low +# endif // workaround for TARGET_MAX32630 SPI_MODE2 SPI_MODE3 problem + // workaround for TARGET_MAX32630 SPI_MODE2 SPI_MODE3 problem (issue #30) + // limit SPI SCLK speed to 6MHz or less +# if ((SPI_SCLK_Hz) > (6000000)) +#warning "MAX32630 SPI speed workaround, changing SPI_SCLK_Hz to 6000000 or 6MHz..." +# undef SPI_SCLK_Hz +# define SPI_SCLK_Hz 6000000 // 6MHz +# endif +#endif +// uint32_t g_SPI_SCLK_Hz = SPI_SCLK_Hz; // TODO1: validate g_SPI_SCLK_Hz against system clock frequency SystemCoreClock F_CPU #if defined(TARGET_NUCLEO_F446RE) || defined(TARGET_NUCLEO_F401RE)