Difference between revisions of "Matrix - Button/zh"

From FriendlyELEC WiKi
Jump to: navigation, search
(特性)
Line 9: Line 9:
 
* PCB尺寸(mm):8x24
 
* PCB尺寸(mm):8x24
 
[[File:btn002.png | frameless|400px|BTN-01.PCB]]
 
[[File:btn002.png | frameless|400px|BTN-01.PCB]]
 +
 +
==工作原理==
 +
Matrix-Button主要器件是一个瞬时(非自锁)按钮开关,通过3-Pin 2.54mm排针中的S信号输出按钮开关的状态。平时没有按下按钮时触点断开,S输出高电平;当按下按钮时触点导通,S输出低电平,直到松开才恢复高电平。
  
 
==使用方法==
 
==使用方法==
 
===连接===
 
===连接===
*连接到Tiny4412 SDK (1506)
+
*连接到NanoPi
 
::将配件S针脚连接到GPIO PIN1, V接5V,G接地
 
::将配件S针脚连接到GPIO PIN1, V接5V,G接地
 +
[[File:button&NanoPi.png|frameless|600px|NanoPi+button]]
  
 
===Linux下的C示例===
 
===Linux下的C示例===

Revision as of 05:11, 25 August 2015

English

1 介绍

按键

该按键在未按时输出高电平,按下后输出低电平。

2 特性

  • 使用标准的3 PIN接口
  • 尺寸为 8x24mm
  • PCB尺寸(mm):8x24

BTN-01.PCB

3 工作原理

Matrix-Button主要器件是一个瞬时(非自锁)按钮开关,通过3-Pin 2.54mm排针中的S信号输出按钮开关的状态。平时没有按下按钮时触点断开,S输出高电平;当按下按钮时触点导通,S输出低电平,直到松开才恢复高电平。

4 使用方法

4.1 连接

  • 连接到NanoPi
将配件S针脚连接到GPIO PIN1, V接5V,G接地

NanoPi+button

4.2 Linux下的C示例

#include <stdio.h>
#include "libfahw.h"
 
static struct sensor button[] = {
        {
                TINY4412_GPIO_PIN1,
                IRQ_TYPE_EDGE_FALLING,
        }
};
 
int main(void)
{
    int i;
    int retSize = -1;
    char value[ARRAY_SIZE(button)];
    int devFD = -1;
    if ((devFD =sensorInit(button, ARRAY_SIZE(button))) == -1) {
        printf("Fail to init sensor\n");
        return -1;
    }
    printf("Press the button...\n");
    if (( retSize = sensorRead(devFD, value, ARRAY_SIZE(button)) ) == -1) {
        printf("Fail to read sensors\n");
    }
    if (retSize > 0) {
        i = 0;
        for (i=0; i<retSize; i++) {
            printf("Button[%d]:%d\n", i, value[i]);
        }
    }
    sensorDeinit(devFD);
    return 0;
}

4.3 编译并运行示例

git clone http://github.com/friendlyarm/fa-hardware.git
cd fa-hardware
cd demo
cd button
make

将编译生成的button通过ftp上传到开发板上运行即可测试。

5 相关资料