본문으로 건너뛰기

tkl wakeup | 웨이크업 드라이버

더 보기tkl_wakeupAPI는 저전력 상태에서 칩을 깨는 소스를 구성합니다. 웨이브 업 소스는 GPIO 가장자리 또는 레벨, 타이머, 또는 RTC 알람이 될 수 있습니다. 당신은 하나의 소스를 설명TUYA_WAKEUP_SOURCE_BASE_CFG_T그리고 그 근원을 놓거나 명확하게 그것을 통과하십시오. 두 함수 반환OPRT_OK성공 또는 오류 코드 정의tuya_error_code.h.

tkl wakeup source set에

OPERATE_RET tkl_wakeup_source_set(const TUYA_WAKEUP_SOURCE_BASE_CFG_T *param);

웨이크 업 소스를 활성화합니다.

제품 설명제품정보이름 *
param내 계정사용 가능한 Wake-up 소스. 이름 *TUYA_WAKEUP_SOURCE_BASE_CFG_T.

기타 제품OPRT_OK성공에. 다른 값은 오류를 나타냅니다.tuya_error_code.h.

tkl wakeup source clear의

OPERATE_RET tkl_wakeup_source_clear(const TUYA_WAKEUP_SOURCE_BASE_CFG_T *param);

이전에 활성화 된 Wake-up 소스를 비활성화합니다.

제품 설명제품정보이름 *
param내 계정비활성화 할 수있는 Wake-up 소스. 이름 *TUYA_WAKEUP_SOURCE_BASE_CFG_T.

기타 제품OPRT_OK성공에. 다른 값은 오류를 나타냅니다.tuya_error_code.h.

제품정보

TUYA WAKEUP SOURCE BASE CFG T에 대해서

한 가지 모닝 소스를 설명합니다. 더 보기source필드는 회원의 선택wakeup_para조합은 적용합니다.

typedef struct {
TUYA_WAKEUP_SOURCE_E source;
union {
TUYA_WAKEUP_SOURCE_GPIO_T gpio_param;
TUYA_WAKEUP_SOURCE_TIMER_T timer_param;
TUYA_WAKEUP_SOURCE_RTC_T rtc_param;
} wakeup_para;
} TUYA_WAKEUP_SOURCE_BASE_CFG_T;

TUYA WAKEUP SOURCE E에

typedef enum {
TUYA_WAKEUP_SOURCE_GPIO,
TUYA_WAKEUP_SOURCE_TIMER,
TUYA_WAKEUP_SOURCE_RTC,
} TUYA_WAKEUP_SOURCE_E;

TUYA WAKEUP SOURCE GPIO T에 대해서

typedef struct {
TUYA_GPIO_NUM_E gpio_num;
TUYA_GPIO_WAKE_TYPE_E level;
} TUYA_WAKEUP_SOURCE_GPIO_T;
제품정보이름 *
gpio_numGPIO 핀을 트리거합니다.
level방아쇠 상태. 이름 *TUYA_GPIO_WAKE_TYPE_E.

TUYA_GPIO_WAKE_TYPE_E값은TUYA_GPIO_WAKEUP_LOW, TUYA_GPIO_WAKEUP_HIGH, TUYA_GPIO_WAKEUP_RISE·TUYA_GPIO_WAKEUP_FALL.

TUYA WAKEUP SOURCE TIMER T에 대하여

typedef struct {
TUYA_TIMER_NUM_E timer_num;
TUYA_TIMER_MODE_E mode;
uint32_t ms;
} TUYA_WAKEUP_SOURCE_TIMER_T;
제품정보이름 *
timer_numTimer 인스턴스를 사용합니다.
modeTUYA_TIMER_MODE_ONCE또는TUYA_TIMER_MODE_PERIOD.
ms밀리 초에 타임 아웃.

TUYA WAKEUP SOURCE RTC T에 대해서

typedef struct {
TUYA_RTC_NUM_E RTC_num;
TUYA_RTC_MODE_E mode;
uint32_t ms;
} TUYA_WAKEUP_SOURCE_RTC_T;
제품정보이름 *
RTC_numRTC 인스턴스를 사용합니다.
modeTUYA_RTC_MODE_ONCE또는TUYA_RTC_MODE_PERIOD.
msmilliseconds의 알람 간격.

이름 *

GPIO 12의 상승 가장자리에 칩을 모십시오:

TUYA_WAKEUP_SOURCE_BASE_CFG_T cfg = {0};
cfg.source = TUYA_WAKEUP_SOURCE_GPIO;
cfg.wakeup_para.gpio_param.gpio_num = TUYA_GPIO_NUM_12;
cfg.wakeup_para.gpio_param.level = TUYA_GPIO_WAKEUP_RISE;

tkl_wakeup_source_set(&cfg);

// Later, to stop waking on this source:
tkl_wakeup_source_clear(&cfg);