This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Temperature measuring by built-in sensor with Sloeber

Does anyone uses Sloeber to program nRF52?

I have an issue, when I add a header nrf_temp.h to the project and using following functions:

setup(){
initialize_temp_sensor()
}

uint8_t initialize_temp_sensor(void)
{
        nrf_temp_init();
        return 1;
}

int32_t getTemperatureReading(void)
{
        int32_t temp = 0;
        NRF_TEMP->TASKS_START = 1;
         while (NRF_TEMP->EVENTS_DATARDY == 0)
         {
                // Do nothing.
         }
         NRF_TEMP->EVENTS_DATARDY = 0;
         temp = nrf_temp_read();
      NRF_TEMP->TASKS_STOP = 1; /** Stop the temperature measurement. */
      return temp;
}

The problem appears when I add Bleuart to the project, I get following error:

void nrf_error_cb(uint32_t, uint32_t, uint32_t): 72: id = 4097
void nrf_error_cb(uint32_t, uint32_t, uint32_t): 73: pc = 0x00023A20
void nrf_error_cb(uint32_t, uint32_t, uint32_t): 74: info = 0x00001000

I checked that those lines cousing a problem: NRF_TEMP->TASKS_START = 1; NRF_TEMP->TASKS_STOP = 1;
So whenever I start or stop a measure. What can I do with that?

Related