Hi...
i have done the program to read the temperature sensor, i want to get the temperature in float value . i can able to read the temperature in float but i can't able to pass the float value in ble_nus_send . nRF52832 used segger 15.2v
here i am attaching my code , please tell me how to resolve this
static void sensor_event_handler(void* p_context) { uint16_t length1; uint16_t threshold; char str[80]; ret_code_t err_code; nrf_delay_ms(5000); while (m_xfer_done == false); { m_xfer_done = false; uint8_t reg[2] = {0x00U}; err_code = nrf_drv_twi_tx(&m_twi,LM75B_ADDR, reg, sizeof(reg), true); APP_ERROR_CHECK(err_code); while (m_xfer_done == false); nrf_delay_ms(5); m_xfer_done = false; ret_code_t err_code1 = nrf_drv_twi_rx(&m_twi,LM75B_ADDR, &m_sample, sizeof(m_sample)); APP_ERROR_CHECK(err_code1); NRF_LOG_INFO("hello :%d", m_sample); uint16_t tempVal = (m_sample[0] << 8) | m_sample[1]; float tempC = tempVal * (0.0390625)/10; threshold=50; if(tempC < threshold ) { length1 = sprintf(str,"%s%d.%01d", tempC); ble_nus_data_send(&m_nus,str,sizeof(tempC), m_conn_handle); NRF_LOG_INFO("temp:%s%d.%01d", NRF_LOG_FLOAT(tempC)); } } }
Thanks in advance