int main(void) { //! [main_start] /* Initialize system */ //! [system_init] system_init(); //! [system_init] //! [run_config] configure_spi_slave(); //! [run_config] //! [main_start] //! [main_use_case] //! [write] while (spi_write_buffer_wait(&spi_slave_instance, buffer, BUF_LENGTH) != STATUS_OK) { /* Wait for transfer from master */ } //! [write] //! [inf_loop] while (true) { /* Infinite loop */ } //! [inf_loop] //! [main_use_case] }
int main(void) { //! [main_start] uint8_t result = 0; uint16_t i; uint32_t delay; /* Initialize system */ //! [system_init] system_clock_config(CLOCK_RESOURCE_XO_26_MHZ, CLOCK_FREQ_26_MHZ); for (i = 0; i < BUF_LENGTH; i++) { buffer_expect[i] = i; buffer_rx[i] = 0; } //! [system_init] //! [run_config_gpio] configure_gpio(); //! [run_config_gpio] //! [run_config_spi] configure_spi_slave(); //! [run_config_spi] //! [main_start] //! [main_use_case] //! [read] memset(buffer_rx, 0x0, BUF_LENGTH); while(spi_read_buffer_wait(&spi_slave_instance, buffer_rx, BUF_LENGTH, 0x00) != STATUS_OK) { /* Wait for transfer from the master */ } //! [read] //! [compare] for (i = 0; i < BUF_LENGTH; i++) { if(buffer_rx[i] != buffer_expect[i]) { result++; } } //! [compare] //! [inf_loop] while (true) { /* Infinite loop */ if (result) { gpio_pin_toggle_output_level(LED_0_PIN); /* Add a short delay to see LED toggle */ delay = 300000; while(delay--) { } } else { gpio_pin_toggle_output_level(LED_0_PIN); /* Add a short delay to see LED toggle */ delay = 3000000; while(delay--) { } } } //! [inf_loop] //! [main_use_case] }