1. 程式人生 > >一點一滴分析LinkIt™ Smart 7688 按鈕操作

一點一滴分析LinkIt™ Smart 7688 按鈕操作

採用procd和gpio-button-hotplug取樣按鈕

在openwrt中如何進行按鈕操作,有多中方法。我認為一種方法比較easy。參考1.3。該方法採用了gpio-button-hotplug (openwrt/package/kernel/gpio-button-hotplug)模組進行控制。

具體的步驟:

如果採用procd方式

需要建立指令碼到 /etc/rc.button/ 目錄。每個指令碼對應指定的按鈕。如果採用gpio-button-hotplug,需要建立指令碼到 /etc/hotplug.d/button/00-button,該指令碼處理按鈕資訊。參考openwrt網站資訊。

[email protected]:/# cat /sys/kernel/debug/gpio
GPIOs 0-31, platform/10000600.gpio, 10000600.gpio:
gpio-11  (bootstrap           ) out lo
gpio-14  (BTN_0               ) in  hi
gpio-15  (BTN_1               ) in  hi
gpio-16  (BTN_2               ) in  hi
gpio-17  (BNT_3               ) in  hi
gpio-18  (BTN_4               ) in
hi gpio-19 (BTN_5 ) in hi GPIOs 32-63, platform/10000600.gpio, 10000600.gpio: gpio-38 (reset ) in hi GPIOs 64-95, platform/10000600.gpio, 10000600.gpio: GPIOs 127-127, platform/gpio-wifi, gpio-wifi: gpio-127 (mediatek:orange:wifi) out ?

指令碼 GPIO 控制 //GPIO應用層控制

1 GPIO39引腳控制LED

匯出GPIO39引腳

  root@mylinkit:/sys/class/gpio# echo "39">export
  root@mylinkit:/sys/class/gpio# ls
  export       gpio39       gpiochip0    gpiochip127  gpiochip32   gpiochip64   unexport

定義GPIO39輸出

  root@mylinkit:/sys/class/gpio# cd gpio39
  root@mylinkit:/sys/devices/10000000.palmbus/10000600.gpio/gpio/gpio39# ls
  active_low  device      direction   edge        subsystem   uevent      value
  root@mylinkit:/sys/devices/10000000.palmbus/10000600.gpio/gpio/gpio39# cat direction
  in
  root@mylinkit:/sys/devices/10000000.palmbus/10000600.gpio/gpio/gpio39# echo "out" >direction
  root@mylinkit:/sys/devices/10000000.palmbus/10000600.gpio/gpio/gpio39# cat direction
  out

修改GPIO39輸出電平

  root@mylinkit:/sys/devices/10000000.palmbus/10000600.gpio/gpio/gpio39# cat value
  0
  root@mylinkit:/sys/devices/10000000.palmbus/10000600.gpio/gpio/gpio39# echo "1" > value
  root@mylinkit:/sys/devices/10000000.palmbus/10000600.gpio/gpio/gpio39# cat value
  1

1 檢測一個按鈕輸入

匯出GPIO

  root@mylinkit:/sys/class/gpio# echo "16">export
  root@mylinkit:/sys/class/gpio# ls
  export       gpio16       gpiochip0    gpiochip127  gpiochip32   gpiochip64   unexport
  root@mylinkit:/sys/class/gpio# cd gpio16
  root@mylinkit:/sys/devices/10000000.palmbus/10000600.gpio/gpio/gpio16# ls
  active_low  device      direction   edge        subsystem   uevent      value
  root@mylinkit:/sys/devices/10000000.palmbus/10000600.gpio/gpio/gpio16#

定義GPIO39輸入

  root@mylinkit:/sys/devices/10000000.palmbus/10000600.gpio/gpio/gpio16# cat direction
  in
  root@mylinkit:/sys/devices/10000000.palmbus/10000600.gpio/gpio/gpio16# echo "in">direction
  root@mylinkit:/sys/devices/10000000.palmbus/10000600.gpio/gpio/gpio16# cat direction
  in

檢測按鈕狀態 高電平/低電平

  root@mylinkit:/sys/devices/10000000.palmbus/10000600.gpio/gpio/gpio16# cat value
  1
  root@mylinkit:/sys/devices/10000000.palmbus/10000600.gpio/gpio/gpio16# cat value
  0

相關推薦

一點一滴分析LinkItSmart 7688 按鈕操作

採用procd和gpio-button-hotplug取樣按鈕 在openwrt中如何進行按鈕操作,有多中方法。我認為一種方法比較easy。參考1.3。該方法採用了gpio-button-hotplug (openwrt/package/kernel/gpio

一點一滴分析LinkIt Smart 7688 問題彙總

定義 $ - 指定Ubuntu系統下命令 # - Openwrt下命令 1. 系統編譯 1.1 .config檔案 openwrt中,make menuconfig生成.config檔案後,我們如何對.config中自定義的差異內容進行

https://github.com/MediaTek-Labs/linkit-smart-7688-feed編譯失敗

lin tar.bz2 tar gdb prepare com gin err evel 2017-06-26 16:08:49 (8.82 KB/s) - Read error at byte 10119560/24112160 (Connection timed out

LinkIt Smart 7688 硬件燒寫Flash

lap conn con tro verify 方案 宋體 軟件 family 這個方案用於升級U-BOOT 失敗,或者更換 Flash 後啟動引導的燒寫 一.硬件準備: 1.J-LINK V9 2.杜邦線 3.勾式測試夾或者測試勾 二.軟件準備: SEGGER V

LinkIt Smart 7688 從源碼構建固件並升級

到你 所有 nwr 解壓 新的 cal post cmd 下載源 1.操作系統:Ubuntu 16.04 LTS 2.安裝必要的支持包: $:sudo dpkg --add-architecture i386 $:sudo apt-get update $:sudo ap

LinkIt Smart 7688 從源碼構建 bootloader (U-Boot)

fig mil labs 技術分享 路徑 中文環境 問題 png 準備 操作系統:Ubuntu 16.04 LTS 以下操作均在普通用戶權限下執行:(註意不能含有中文路徑) 一.下載 U-Boot 源碼 創建工作目錄: $:mkdir LinkIt_Smart_mt7

LinkIt Smart 7688 建立交叉編譯環境

main ebo port dev word .cn export info eboot 一.編譯工具鏈的獲取 1.官網下載:https://docs.labs.mediatek.com/resource/linkit-smart-7688/zh_cn/downloads

LinkIt Smart 7688 使用官方 SDK 生成 安裝包

ads 軟件包 目錄名 mil mips config mage world ram 一.獲取 SDK 地址如下 https://docs.labs.mediatek.com/resource/linkit-smart-7688/zh_cn/downloads

列表配置中的按鈕操作——JEPLUS軟件快速開發平臺

vpd 平臺 一個表 spa elf 誤刪 edit proc ML JEPLUS列表配置中的按鈕操作 我們在配置功能列表時,列表配置中的按鈕的作用可能對大家來說還是不太熟悉,我今天來介紹下列表配置中按鈕的功能

地理空間分析中的常用python操作(持續更新)

本章節主要參考《python地理空間分析指南》第五章的內容。 一、距離測量 距離測量包括歐式距離,球面距離,以及大地線距離(橢球距離)。主要採用math庫(標準庫,無需下載)進行運算。 1.歐式距離 計算任意兩點之間的距離可以採用距離公式:     &nb

Flutter之drawer詳細分析(你要的操作都有)

1. 簡介 這篇文章主要講解有關drawer的一切。 另:接Flutter相關專案,需要的私信或通過QQ:708959817,聯絡我 2. 初探 我們先來看看簡單的drawer在Flutter的應用 class HomePage extends StatefulWidget {

資料分析——numpy庫常用基本操作

本人是一個數據分析的愛好者,由於腦子不夠靈光,所以決定通過寫部落格來記錄自己的學習過程。 百度許久,遍歷教程無數,發現做資料分析主要有一下的工具: 1、SAS:SAS(STATISTICAL ANALYSIS SYSTEM,簡稱SAS)公司開發的統計分析軟體,是一個功能強大的資料庫整合平臺。

Libevent原始碼分析-----evbuffer結構與基本操作

        對於非阻塞IO的網路庫來說,buffer幾乎是必須的。Libevent在1.0版本之前就提供了buffer功能。現在來看一下Libevent的buffer。 buffer相關結構體:         Libevent為buffer定義了下面

swoole原始碼分析之Buffer的substr操作

swoole_buffer提供的substr操作用於從緩衝區中取出內容。 string swoole_buffer->substr(int $offset, int $length = -1,

swoole原始碼分析之Buffer的expend操作

swoole_buffer提供的expend操作用於為快取區擴容。 swoole_buffer->expand(int $new_size); $new_size 指定新的緩衝區尺寸,必須大

swoole原始碼分析之Buffer的write操作

swoole_buffer提供的write操作用於向快取區的任意記憶體位置寫資料。read/write函式可以直接讀寫記憶體。所以使用務必要謹慎,否則可能會破壞現有資料。 swoole_buffer->write(int $offset, string $data)

二叉樹時間複雜度分析及增刪改查操作java實現

順序表和連結串列的時間複雜度由給定條件不同從而會得出不同的時間複雜度結果,對於程式設計時並不總是最好用的儲存方式。二叉樹是一種更加穩定的資料儲存方式,其複雜度總是能表示為一個固定的形式。以下來分析二叉樹增刪改查操作做的時間複雜度。 設有如下資料需要進行二叉樹形式儲存:

Python資料分析 | (9)NumPy陣列高階操作---變型、重塑、扁平、合併拆分以及重複

本篇部落格所有示例使用Jupyter NoteBook演示。 Python資料分析系列筆記基於:利用Python進行資料分析(第2版)   目錄 1.陣列轉置和軸對換 2.陣列重塑 3.陣列扁平化 4.陣列的合併和拆分 5.元素的重複操作:tile/r

利用Python進行資料分析(15) pandas基礎: 字串操作

字串物件方法 split()方法拆分字串: strip()方法去掉空白符和換行符: split()結合strip()使用: "+"符號可以將多個字串連線起來: join()方法也是連線字串,比較它和"+"符號的區別: in關鍵字判斷一個字串是否包含在另一個字串中: index()方法

自定義按鈕操作Video播放視訊

 function playPause() {        var myVideo = document.getElementsByTagName('video')[0];        if (myVideo.paused) {            myVideo.pl