SDK  23.9.2
For IoT System Software Development
Public Member Functions | Public Attributes | Protected Member Functions | List of all members
McuGeneric Class Referenceabstract

Generic MCU. More...

#include <McuGeneric.hpp>

Inheritance diagram for McuGeneric:
McuARMCortexM McuESP32 McuMSP430x5 McuATSAMD21 McuATSAMR21 McuNRF51 McuSTM32F0xx McuSTM32F4xx McuSTM32L0xx McuSTM32L1xx McuSTM32WLxx SystemMSP430F5438A SystemPLM100 SystemTrxEB

Public Member Functions

 McuGeneric (uint32_t clockHz, uint32_t systickHz, uint32_t maxSystickCount)
 
virtual void feedWatchdog ()=0
 Watchdog reset을 방지하기 위하여 watchdog에 신호를 줍니다. More...
 
virtual uint32_t MicrosToSystick (uint32_t usec)=0
 
virtual uint32_t SystickToMicros (uint32_t ticks)=0
 

Public Attributes

const uint32_t CLOCK_HZ
 CPU clock frequency in unit of Hz.
 
const uint32_t SYSTICK_HZ
 System tick frequency in unit of Hz.
 
const uint32_t MAX_SYSTICK_COUNT
 Maximum value of systick counter.
 
bool useSleep = true
 true 이면 MCU가 유휴(idle) 상태일 때 저전력을 위하여 sleep 합니다. More...
 

Protected Member Functions

virtual void initialize ()=0
 
virtual void sleep ()=0
 
virtual void wakeup ()
 

Detailed Description

Generic MCU.

Member Function Documentation

◆ feedWatchdog()

virtual void McuGeneric::feedWatchdog ( )
pure virtual

Watchdog reset을 방지하기 위하여 watchdog에 신호를 줍니다.

Nol.A-SDK에서는 특정 태스크의 MCU 점유 시간이 길어지는 경우 watchdog reset이 발생합니다. 따라서 postTask(), Timer 등으로 실행되는 태스크의 실행시간은 가능한 짧아야 합니다. 하지만, 간혹 busy wait를 해야 하거나 blocking 함수로 인해 실행시간이 길어질 수 있습니다. 이 경우 태스크의 중간 중간마다 이 함수를 호출하여 watchdog reset이 발생하는 것을 방지할 수 있습니다.

Implemented in SystemFeatherM0, McuNRF51, McuATSAMD21, McuATSAMR21, McuMSP430x5, McuSTM32L0xx, McuSTM32L1xx, McuSTM32WLxx, McuSTM32F0xx, McuSTM32F4xx, and McuESP32.

Member Data Documentation

◆ useSleep

bool McuGeneric::useSleep = true

true 이면 MCU가 유휴(idle) 상태일 때 저전력을 위하여 sleep 합니다.

Nol.A-SDK에서의 MCU는 대체로 아무런 할 일이 없는 유휴 상태일 때 MCU의 전류소모를 줄이기 위하여 sleep 상태에 들어갑니다. SerialPort 등 일부 peripherals의 동작 상태를 유지하기 위해서 자동으로 sleep 상태 진입이 차단되기도 합니다. 그 외 MCU가 감지하지 못하는 MCU가 활성 상태를 유지해야 하는 상황이 있을 경우 이 변수를 false 로 설정하십시오.


The documentation for this class was generated from the following file: