API Reference – RTC GPIO

Header File

  • https://github.com/espressif/esp-idf/blob/9314bf0/components/driver/include/driver/rtc_io.h

Functions

static bool rtc_gpio_is_valid_gpio(gpio_num_t gpio_num)

Xác định xem GPIO đã chỉ định có phải là RTC GPIO không.

Return

True nếu GPIO hợp lệ cho việc dùng RTC GPIO. Ngược lại là False.

Parameters

  • gpio_num: số của GPIO.
esp_err_t rtc_gpio_init(gpio_num_t gpio_num)

Khởi động một GPIO thành RTC GPIO.

Hàm này phải được gọi khi khởi tạo một pad cho một chức năng tương tự.

Return

  • ESP_OK thành công.
  • ESP_ERR_INVALID_ARG GPIO không phải là một RTC IO.

Parameters

  • gpio_num: số của GPIO (ví dụ: GPIO_NUM_12).
esp_err_t rtc_gpio_deinit(gpio_num_t gpio_num)

Khởi tạo một GPIO như một digital GPIO.

Return

  • ESP_OK thành công.
  • ESP_ERR_INVALID_ARG GPIO không phải là một RTC IO.

Parameters

  • gpio_num: số của GPIO (ví dụ: GPIO_NUM_12).
uint32_t rtc_gpio_get_level(gpio_num_t gpio_num)

Nhận mức đầu vào RTC IO.

Return

  • 1 mức cao.
  • 0 mức thấp.
  • ESP_ERR_INVALID_ARG GPIO không phải là một RTC IO.

Parameters

  • gpio_num: số của GPIO (ví dụ: GPIO_NUM_12).
esp_err_t rtc_gpio_set_level(gpio_num_t gpio_num, uint32_t level)

Set mức RTC IO output.

Return

  • ESP_OK thành công.
  • ESP_ERR_INVALID_ARG GPIO không phải là một RTC IO.

Parameters

  • gpio_num: số của GPIO (ví dụ: GPIO_NUM_12).
  • level: mức output.
esp_err_t rtc_gpio_set_direction(gpio_num_t gpio_num, rtc_gpio_mode_t mode)

Set hướng cho GPIO.

Cấu hình phương hướng cho GPIO, chẳng hạn như chỉ input, chỉ output, input và output.

Return

  • ESP_OK thành công.
  • ESP_ERR_INVALID_ARG GPIO không phải là RTC IO.

Parameters

  • gpio_num: số của GPIO (ví dụ: GPIO_NUM_12).
  • mode: hướng làm việc của GPIO.
esp_err_t rtc_gpio_pullup_en(gpio_num_t gpio_num)

Bật RTC GPIO pull-up.

Hàm này chỉ làm việc cho các RTC IO. Nói chung, gọi gpio_pulldown_en, sẽ làm việc cho cả hai các GPIO thông thường và RTC IO.

Return

  • ESP_OK thành công.
  • ESP_ERR_INVALID_ARG GPIO không phải là một RTC IO.

Parameters

-gpio_num: số của GPIO (ví dụ: GPIO_NUM_12).

esp_err_t rtc_gpio_pullup_dis(gpio_num_t gpio_num)

Tắt RTC GPIO pull-up.

Hàm này chỉ làm việc cho các RTC IO. Nói chung, gọi gpio_pullup_dis, sẽ làm việc cho cả hai các GPIO thông thường và RTC IO.

Return

  • ESP_OK thành công.
  • ESP_ERR_INVALID_ARG GPIO không phải là một RTC IO.

Parameters

  • gpio_num: số của GPIO (ví dụ: GPIO_NUM_12).
esp_err_t rtc_gpio_pulldown_disIO.(gpio_num_t gpio_num)

Tắt RTC GPIO pull-down.

Hàm này chỉ làm việc cho các RTC IO. Nói chung, gọi gpio_pulldown_dis, sẽ làm việc cho cả hai các GPIO thông thường và RTC IO.

Return

  • ESP_OK thành công.
  • ESP_ERR_INVALID_ARG GPIO không phải là một RTC IO.

Parameters

  • gpio_num: số của GPIO (ví dụ: GPIO_NUM_12).
esp_err_t rtc_gpio_hold_en(gpio_num_t gpio_num)

Kích hoạt chức năng giữ cho một pad RTC GPIO.

Kích hoạt chức năng giữ sẽ làm cho pad chốt lại những giá trị đang hiện hành của việc kích hoạt input, kích hoạt output, giá trị output, chức năng, các giá trị nhanh chậm của drive. Hàm này rất hữu ích khi đem vào chế độ light hay deep sleep để ngăn chặn thay đổi cấu hình chân.

Return

  • ESP_OK thành công.
  • ESP_ERR_INVALID_ARG GPIO không phải là một RTC IO.

Parameters

  • gpio_num: số của GPIO (ví dụ: GPIO_NUM_12).
esp_err_t rtc_gpio_hold_dis(gpio_num_t gpio_num)

Tắt chức năng force hold cho pad RTC IO.

Tắt chức năng giữ sẽ cho phép pad nhận các giá trị của cho phép input, cho phép output, function, drive strength từ RTC_IO ngoại vi.

Return

  • ESP_OK thành công.
  • ESP_ERR_INVALID_ARG GPIO không phải là một RTC IO.

Parameters

  • gpio_num: số của GPIO.(ví dụ: GPIO_NUM_12).
void rtc_gpio_force_hold_dis_all()

Tắt chức năng giữ tín hiệu cho tất cả các RTC IO.

Mỗi pad RTC có tín hiệu input từ bộ điều khiển RTC. Nếu tín hiệu này được set, pad sẽ chốt các giá trị hiện tại của cho phép input, function, cho phép output, và các tín hiệu khác đến từ MUX RTC. Tín hiệu force hold được kích hoạt trước khi deep sleep cho các pin được sử dụng cho việc đánh thức EXT1.

Structures

struct rtc_gpio_desc_t()

Thông tin pin chức năng cho các chức năng RTC của mỗi GPIO riêng.

Đây là một chức năng bên trong của trình điều khiển, và thường không hữu ích cho việc dùng bên ngoài.

Public Members

uint32_t reg

Bit mask để chọn pad digital hay pad RTC.

uint32_t func

Shift của vùng chức năng (FUN_SEL).

uint32_t ie

Mask của input cho phép.

uint32_t pullup

Mask của pull-up cho phép.

uint32_t pulldown

Mask của pull-down cho phép.

uint32_t slpsel

Nếu bit slpsel được set, slpie sẽ dùng như pad tín hiệu cho phép input trong chế độ ngủ.

uint32_t slpie

Mask của input cho phép trong chế độ ngủ.

uint32_t hold

Mask của cho phép hold.

uint32_t hold_force

Mask của bit hold_force cho RTC IO trong RTC_CNTL_HOLD_FORCE_REG.

int rtc_num

Số RTC IO, hay -1 nếu không phải một RTC GPIO.

Macros

RTC_GPIO_IS_VALID_GPIO(gpio_num) rtc_gpio_is_valid_gpio(gpio_num)

Enumerations

enum rtc_gpio_mode_t()

Values:

RTC_GPIO_MODE_INPUT_ONLY

Pad output.

RTC_GPIO_MODE_OUTPUT_ONLY

Pad input.

RTC_GPIO_MODE_INPUT_OUTUT

Pad pull output + input.

RTC_GPIO_MODE_DISABLED

Tắt Pad (output + input).

Lưu ý