hi
I write a function getT() to read spi thermalcouple chip.
if the function getT() is called in main() function, it will work correctly. Hence, I think that getT() is correct essentially.
if the function getT() is called when BSP_EVENT_KEY4 is triggered(in function bsp_event_handler), the function getT() does not work correclty.
Trace the codes, I find the function spi_event_handler() does not be called and causes err_code = NRF_ERROR_BUSY in function nrf_drv_spi_xfer.
I.E. the funtion spi_event_handler() will not be called after the funtion bsp_event_handler() is called.
The following is part of my codes:
int main(void)
{ ....
spi_config();
getT();
....
}
In above code, the function getT() in the main() block is work correctly.
static void bsp_event_handler(bsp_event_t event)
{ .....
switch (event) {
....
case BSP_EVENT_KEY_4:
getT();
}
....
}
In above code, the function getT() can not work correctly when it is put in the bsp_event_handler block.(The spi_event_handler does not be called)
How can I fixed this issue?
Thank you for your help. Best Wishes