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 文檔。
主要功能包括:
Button驅(qū)動(dòng)使用 GPT 實(shí)現(xiàn). GPT的通道可以使用menuconfig 選擇,通常保存在 C 頭文件中。 默認(rèn)情況下,配置保存為 rtconfig.h。
下面時(shí)一個(gè)配置的示例,工程使用GPT2, 支持長(zhǎng)按和雙擊。
配置完成后,用戶需要在所有需要訪問(wèn)驅(qū)動(dòng)程序的源代碼中包含頭文件。
適配器層注冊(cè) RT-Thread 請(qǐng)求的硬件支持功能,并使用 GPT2 實(shí)現(xiàn)這些功能。 GPT HAL 公開的 Hardware Timer 。 對(duì)于使用 RT-Thread 按鈕設(shè)備的用戶,可以使用以下代碼作為示例: