nrf51822藍芽觸控螢幕驅動總結

2021-07-02 14:49:41 字數 954 閱讀 7169

其實說是藍芽觸控螢幕和普通觸控螢幕沒有區別,在寫所有觸控螢幕的流程基本都是以下 步驟:

1.註冊中斷

2.進入中斷,高階點的系統可以有中斷低半步,

3.在中斷低半部中讀取暫存器中的資訊,解讀出id,x,y座標,是否是按下或者鬆開

4.上報id,座標資訊

乙個最簡單的觸控螢幕事件,需要上報一下幾點:

1.finger_id(0x2f)mt_id,mt協議中用來唯一標示乙個手指的id號

2.id(0x39)動態分配的id號

3.x(0x35),y(0x36)號

4.觸控按鍵事件(按下或者鬆開)

5,sync同步

乙個最簡單的上報事件(上報座標點為500,500)

0x3, 0x2f,finger_id

0x3, 0x39,id

0x3, 0x35,x

0x3, 0x36,y

0x1,0x14a,(按下為1,鬆開為0)

0x0,0x0,0x0

然後當所有手指都鬆開的時候需要上報0x39也就是動態id為-1

0x3, 0x2f,finger_id

0x3, 0x39,-1

0x1,0x14a,(當所有手指都鬆開的時候上報0)

0x0,0x0,0x0

如下是我寫的乙個掃瞄兩指:

for (i = 0; i < ts_event->touch_point; i++)

add_td(0x3, 0x39,id);

add_td(0x3, 0x35,ts_event->au16_x[i]);

add_td(0x3, 0x36,ts_event->au16_y[i]);

touch_num++;

}else

} add_td(0x1, 0x14a,touch_num>0);

add_td(0x0, 0x0,0x0);

nrf51822 修改藍芽名字

1.目的 修改藍芽的名字 2.分析 藍芽名字最長設定為20個位元組,超過20個位元組為無效 3.平台 協議棧版本 sdk10.0.0 編譯軟體 keil 5.14 硬體平台 nrf51822最小系統 4.步驟 首先,要知道設定名字的api 在ble gap.h brief set gap devic...

藍芽nrf51822使用s110 nrf51

問題描述 在例程中第一次燒錄不會出錯,當修改了源程式再次燒錄時會出現 programming failed error flash download failed cortex m0 的錯誤。在debug和utilities配置中都沒有錯,編譯也沒有出錯。解決方法 在target裡面修改,當再次燒錄...

觸控螢幕驅動

輸入子系統體系 核心層 linux dir drivers input input.c 提供最核心函式 裝置事件層 linux dir drivers input evdev.c 提供handler 提供輸入裝置產生的原始資料並上報給應用程式,這適用於 所有輸入裝置,該觸控螢幕也不例外 編寫基於輸入...