x286212455的個(gè)人空間 http://selenalain.com/space-uid-142968.html [收藏] [復制] [RSS]

博客

TiJOS 按我一下-Button按鍵操作

已有 1123 次閱讀2018-4-17 13:40 |個(gè)人分類(lèi):物聯(lián)網(wǎng)| tijos, 開(kāi)發(fā)板

例程說(shuō)明:通過(guò)日志查看按鍵被按下和釋放的過(guò)程。
第一步: 環(huán)境搭建1. 軟件環(huán)境

請參考《鈦極OS(TiJOS)應用開(kāi)發(fā)環(huán)境搭建》以及《HelloWorld 第一個(gè)鈦極OS(TiJOS)應用》搭建環(huán)境并創(chuàng )建例程:ButtonSample。

2. 硬件環(huán)境

例程所需(以TiKit-T600-ESP8266A開(kāi)發(fā)套件為例):

  1. TiKit-T600-ESP8266A開(kāi)發(fā)板;
  2. TiButton模塊;
  3. 杜邦線(xiàn)2根;
  4. USB線(xiàn)2根;

Tikit.jpg

使用USB線(xiàn)分別將 TiKit-T600-ESP8266A開(kāi)發(fā)板的兩個(gè)USB口連接到電腦的USB端口,并使用Ti-Dev Manager查看主板的連接是否正常。當開(kāi)發(fā)板和電腦連接成功后,按下開(kāi)發(fā)板上的Reset鍵,日志窗口會(huì )將當前開(kāi)發(fā)板的BOOT信息打印出來(lái),如下圖所示。

TikitConect.png

注意:為確保Ti-Dev Manager正常識別開(kāi)發(fā)板,請將PC端的串口操作軟件關(guān)閉,否則可能造成Ti-Dev Manager不能正常識別開(kāi)發(fā)板。

第二步:應用開(kāi)發(fā)1. 硬件連接

所需硬件資源:TIGPIO port0的pin0。

將TiLED用杜邦線(xiàn)連接到TiKit-T600-ESP8266A開(kāi)發(fā)板:

  • GND<------>GND
  • PIN0<------>B1

TikitConectButton.jpg

2. 例程編寫(xiě)

在之前創(chuàng )建的工程ButtonSample中新建OneButton.java文件,并引入以下包:

import java.io.IOException; import tijos.framework.devicecenter.TiGPIO; import tijos.framework.sensor.button.TiButton; import tijos.util.Delay; import tijos.framework.sensor.button.ITiButtonEventListener;

定義OneButtonEventListener事件監聽(tīng)類(lèi),并定義按鍵的按下事件和釋放事件方法;

class OneButtonEventListener implements ITiButtonEventListener { /** * 按鍵按下事件處理 */ public void onPressed(TiButton arg0) { System.out.println("onPressed"+" time(us):"+arg0.getEventTime()); } /** * 按鍵釋放事件處理 */ public void onReleased(TiButton arg0) { System.out.println("onReleased"+" time(us):"+arg0.getEventTime()); } }

在主類(lèi)OneButton中定義main方法,并定義所需要使用的TiGPIO port以及所需要使用的pin引腳(按照硬件設計所連接的pin編號)。然后創(chuàng )建TiGPIO對象gpio0并打開(kāi)需要使用的pin編號。最后創(chuàng )建的buttonS1對象,并與對應的pin綁定。

public class OneButton { /** * 程序入口,由TiJOS調用 * @param args 入口參數, TiJOS中一直等于null */ public static void main(String[] args) { try { /* * 定義使用的TiGPIO port */ int gpioPort0 = 0; /* * 定義使用的TiGPIO pin */ int gpioPin0 = 0; /* * 資源分配, * 將gpioPort0與gpioPin0分配給TiGPIO對象gpio0 */ TiGPIO gpio0 = TiGPIO.open(gpioPort0, gpioPin0); /* * 資源綁定, * 創(chuàng )建TiButton對象buttonS1并將gpio0和gpioPin0與其綁定 */ TiButton buttonS1 = new TiButton(gpio0, gpioPin0);

按照上述步驟將資源分配完成后,創(chuàng )建事件監聽(tīng)對象并設置事件監聽(tīng),在事件監聽(tīng)中處理按鍵邏輯。

OneButtonEventListener lc = new OneButtonEventListener(); buttonS1.setEventListener(lc);
第三步:結果演示

將上述例程按照《HelloWorld 第一個(gè)鈦極OS(TiJOS)應用》中的方法編譯并運行,然后對S1按鍵進(jìn)行按下、釋放操作,日志窗口會(huì )顯示對應的按下和釋放信息。

logcat.png

源碼

源碼請參考OneButton.java

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
返回頂部
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页