SAADC 안정성 개선: 버퍼/해제 순서 수정

- 배터리 SAADC 더블 버퍼 -> 싱글 버퍼(1회 측정 후 해제이므로 불필요)
- 콜백 내 buffer_convert 제거(해제 직전 다음 버퍼 등록 제거)
- uninit 순서 변경: channel_uninit -> uninit(채널 먼저 해제)
- 5초마다 배터리를 측정하는 battery_loop에 info4(전체 측정) 체크 추가(전체 측정 중 SAADC 동시 init 충돌 방지)
This commit is contained in:
jhChun
2026-03-30 12:10:53 +09:00
parent a9fa050bb0
commit 9e48c084b4
2 changed files with 23 additions and 20 deletions

View File

@@ -106,8 +106,10 @@ void tmp235_voltage_handler(nrf_drv_saadc_evt_t const * p_event) /* TMP325 Vout
//DBG_PRINTF("[TMP] adc=%d\r\n", adc_result);
/* SAADC 해제 — 배터리/압력센서 측정과 하드웨어 공유 */
nrf_drv_saadc_channel_uninit(0); // 채널 먼저 해제
nrf_drv_saadc_uninit();
nrf_drv_saadc_channel_uninit(0);
//nrf_drv_saadc_uninit(); // 이전: 드라이버 먼저 해제
//nrf_drv_saadc_channel_uninit(0);
/* ADC값 → TMP235 출력전압(mV) 변환 */
tmp235_voltage_in_milli_volts = TMP235_VOUT_IN_MILLI_VOLTS(adc_result);