Hi All,
I am a beginner,Can you please explain me what is the role of this line?
APP_ERROR_CHECK(nrf_drv_spi_transfer(&spi, m_tx_buf, m_length, m_rx_buf, m_length));
Hi All,
I am a beginner,Can you please explain me what is the role of this line?
APP_ERROR_CHECK(nrf_drv_spi_transfer(&spi, m_tx_buf, m_length, m_rx_buf, m_length));
This is how my main(void) looks like:-
int main(void) { APP_ERROR_CHECK(NRF_LOG_INIT(NULL));
NRF_LOG_INFO("SPI example\r\n");
nrf_drv_spi_config_t spi_config = NRF_DRV_SPI_DEFAULT_CONFIG;
spi_config.ss_pin = ARDUINO_4_PIN;
spi_config.miso_pin = ARDUINO_12_PIN;
spi_config.mosi_pin = ARDUINO_11_PIN;
spi_config.sck_pin = ARDUINO_13_PIN;
APP_ERROR_CHECK(nrf_drv_spi_init(&spi, &spi_config, spi_event_handler));
//CHANGES ENDS HERE
while (1)
{
//Reset rx buffer and transfer done flag
memset(m_rx_buf, 0, m_length);
spi_xfer_done = false;
//SDC Main starts here
APP_ERROR_CHECK(nrf_drv_spi_transfer(&spi, m_tx_buf, m_length, m_rx_buf, m_length));
while (!spi_xfer_done)
{
__WFE();
}
bsp_board_leds_init();
APP_ERROR_CHECK(NRF_LOG_INIT(NULL));
NRF_LOG_INFO("\r\nFATFS example.\r\n\r\n");
fatfs_example();
APP_ERROR_CHECK(nrf_drv_spi_transfer(&spi, m_tx_buf, m_length, m_rx_buf, m_length));
while (!spi_xfer_done)
{
__WFE();
}
memset(m_rx_buf, 0, m_length);
spi_xfer_done = false;
nrf_drv_spi_switch_chips(&spi, SPI_SS_PIN_1);
//static const nrf_drv_spi_t spi = NRF_DRV_SPI_INSTANCE(1);
APP_ERROR_CHECK(nrf_drv_spi_transfer(&spi, m_tx_buf, m_length, m_rx_buf, m_length));
while (!spi_xfer_done)
{
__WFE();
}
ssd1306_power_on();
ssd1306_init(SSD1306_CONFIG_DC_PIN,
SSD1306_CONFIG_RST_PIN,
SSD1306_CONFIG_CS_PIN,
SSD1306_CONFIG_CLK_PIN,
SSD1306_CONFIG_MOSI_PIN);
ssd1306_begin(SSD1306_SWITCHCAPVCC, SSD1306_I2C_ADDRESS, true);
init_text();
ssd1306_clear_display();
ssd1306_set_textsize(2);
ssd1306_set_textcolor(WHITE);
ssd1306_set_cursor(10, 0);
ssd1306_display();
show_text();
//APP_ERROR_CHECK(nrf_drv_spi_transfer(&spi, m_tx_buf, m_length, m_rx_buf, m_length));
while(spi_xfer_done)
{
if(button_pressed)
{
show_text();
button_pressed = false;
}
__WFE();
//SDC Main Code ends here
power_manage();
}
}
}
This is how my main(void) looks like:-
int main(void) { APP_ERROR_CHECK(NRF_LOG_INIT(NULL));
NRF_LOG_INFO("SPI example\r\n");
nrf_drv_spi_config_t spi_config = NRF_DRV_SPI_DEFAULT_CONFIG;
spi_config.ss_pin = ARDUINO_4_PIN;
spi_config.miso_pin = ARDUINO_12_PIN;
spi_config.mosi_pin = ARDUINO_11_PIN;
spi_config.sck_pin = ARDUINO_13_PIN;
APP_ERROR_CHECK(nrf_drv_spi_init(&spi, &spi_config, spi_event_handler));
//CHANGES ENDS HERE
while (1)
{
//Reset rx buffer and transfer done flag
memset(m_rx_buf, 0, m_length);
spi_xfer_done = false;
//SDC Main starts here
APP_ERROR_CHECK(nrf_drv_spi_transfer(&spi, m_tx_buf, m_length, m_rx_buf, m_length));
while (!spi_xfer_done)
{
__WFE();
}
bsp_board_leds_init();
APP_ERROR_CHECK(NRF_LOG_INIT(NULL));
NRF_LOG_INFO("\r\nFATFS example.\r\n\r\n");
fatfs_example();
APP_ERROR_CHECK(nrf_drv_spi_transfer(&spi, m_tx_buf, m_length, m_rx_buf, m_length));
while (!spi_xfer_done)
{
__WFE();
}
memset(m_rx_buf, 0, m_length);
spi_xfer_done = false;
nrf_drv_spi_switch_chips(&spi, SPI_SS_PIN_1);
//static const nrf_drv_spi_t spi = NRF_DRV_SPI_INSTANCE(1);
APP_ERROR_CHECK(nrf_drv_spi_transfer(&spi, m_tx_buf, m_length, m_rx_buf, m_length));
while (!spi_xfer_done)
{
__WFE();
}
ssd1306_power_on();
ssd1306_init(SSD1306_CONFIG_DC_PIN,
SSD1306_CONFIG_RST_PIN,
SSD1306_CONFIG_CS_PIN,
SSD1306_CONFIG_CLK_PIN,
SSD1306_CONFIG_MOSI_PIN);
ssd1306_begin(SSD1306_SWITCHCAPVCC, SSD1306_I2C_ADDRESS, true);
init_text();
ssd1306_clear_display();
ssd1306_set_textsize(2);
ssd1306_set_textcolor(WHITE);
ssd1306_set_cursor(10, 0);
ssd1306_display();
show_text();
//APP_ERROR_CHECK(nrf_drv_spi_transfer(&spi, m_tx_buf, m_length, m_rx_buf, m_length));
while(spi_xfer_done)
{
if(button_pressed)
{
show_text();
button_pressed = false;
}
__WFE();
//SDC Main Code ends here
power_manage();
}
}
}