사소한 질문 하나 드리고자합니다.
데이터시트에 따르면 PLM100의 소비전력은 Idle 상태에서 2.8mA, sleep mode에서 2uA로 확인됩니다.
LoRa class A 예제에서 전송주기를 늘리게 되었을때 (하루에 한번) 전송하지 않는 상태는
sleep mode로 전환되는 것인가요 아니면 Idle 상태로 들어가게 되는 것인가요?
만약 Idle 상태라면 AT 커멘드를 제외하고 sleep mode로 전환할 수 있는 방법이 있을까요?
사소한 질문 하나 드리고자합니다.
데이터시트에 따르면 PLM100의 소비전력은 Idle 상태에서 2.8mA, sleep mode에서 2uA로 확인됩니다.
LoRa class A 예제에서 전송주기를 늘리게 되었을때 (하루에 한번) 전송하지 않는 상태는
sleep mode로 전환되는 것인가요 아니면 Idle 상태로 들어가게 되는 것인가요?
만약 Idle 상태라면 AT 커멘드를 제외하고 sleep mode로 전환할 수 있는 방법이 있을까요?
안녕하세요.
데이터시트 상의 idle 상태는 MCU가 아무 것도 하지 않으면서 sleep 하지 않는 상태를 의미합니다.
Nol.A는 MCU가 최대한 전력을 조금만 소모하도록 구현되어 있습니다. 즉, LoRaWAN class A 예제에서 RF를 사용하지 않는 모든 순간에 다 sleep으로 들어갑니다.
하지만 전류 측정 결과 sleep 이 아닌 idle 상태에 진입한 것으로 보인다면, 예제에서 사용하지 않은 peripheral을 사용하고 있는 것은 아닌지 의심해봐야 합니다.
Nol.A가 sleep 상태로 들어가지 못하는 이유는 sleep 진입시 정상적인 동작이 불가능할 때입니다. 가령, SerialPort::listen()
같은 함수를 통해 SerialPort
가 UART 수신을 기다리는 중일 때 sleep으로 빠져버리면 UART 수신이 불가능해지기 때문입니다. 만약 수신 못해도 상관없다면 SerialPort::stopListening()
함수를 호출하시면 됩니다. 그러면 알아서 sleep 상태로 진입하게 되어 있습니다.