久久精品国产精品国产一区,少妇扒开毛毛自慰喷水,国产精品无码电影在线观看 ,久久天天躁夜夜躁狠狠85麻豆

思澈科技軟件開發(fā)工具包  2.20
Button

Button驅(qū)動(dòng)包括兩層:通用定時(shí)器(GPT)的硬件訪問(wèn)層(HAL)和RT-Thread的適配層。
硬件訪問(wèn)層提供訪問(wèn) GPT 外設(shè)寄存器的基本 API。 有關(guān)詳細(xì)信息,請(qǐng)參閱 GPT 的 API 文檔。
適配層提供對(duì) RT-Thread 驅(qū)動(dòng)框架的支持。 用戶可以使用 RT-Thread POSIX 驅(qū)動(dòng)程序接口進(jìn)行音頻編程。 請(qǐng)參閱 RT-Thread 驅(qū)動(dòng)程序的 API 文檔。
主要功能包括:

  • 最多支持 4 個(gè)按鈕。
  • 支持長(zhǎng)按和雙擊。
  • 支持 LVGL 圖形庫(kù)。

驅(qū)動(dòng)配置

Button驅(qū)動(dòng)使用 GPT 實(shí)現(xiàn). GPT的通道可以使用menuconfig 選擇,通常保存在 C 頭文件中。 默認(rèn)情況下,配置保存為 rtconfig.h。

下面時(shí)一個(gè)配置的示例,工程使用GPT2, 支持長(zhǎng)按和雙擊。

#define USING_BUTTON_LIB
#define BUTTON_MAX_NUM 2
#define BUTTON_ADV_ACTION_CHECK_DELAY 3000
#define BSP_USING_BUTTON
#define BSP_USING_GPT2_BUTTON
#define SINGLE_AND_DOUBLE_TRIGGER
#define BUTTON_DEBOUNCE_TIME 2
#define BUTTON_CONTINUOS_CYCLE 1
#define BUTTON_LONG_CYCLE 1
#define BUTTON_DOUBLE_TIME 15
#define BUTTON_LONG_TIME 50

配置完成后,用戶需要在所有需要訪問(wèn)驅(qū)動(dòng)程序的源代碼中包含頭文件。

使用Button驅(qū)動(dòng)程序

適配器層注冊(cè) RT-Thread 請(qǐng)求的硬件支持功能,并使用 GPT2 實(shí)現(xiàn)這些功能。 GPT HAL 公開的 Hardware Timer 。 對(duì)于使用 RT-Thread 按鈕設(shè)備的用戶,可以使用以下代碼作為示例:

// Find and open button device
rt_device_t g_t_button = rt_device_find("keypad");
rt_device_open(g_t_button, RT_DEVICE_OFLAG_RDONLY);
// Read button
uint32_t buffer[2];
rt_device_read(g_t_button, 0, buffer, sizeof(buffer));
printf("Key:%d", buffer[0]);
printf("Stated:%d", buffer[1]);