Matrix - Button/zh

From FriendlyELEC WiKi
Revision as of 08:34, 26 August 2015 by Jjm (Talk | contribs) (连接)

Jump to: navigation, search

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 连接

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

NanoPi+button

  • 连接到TINY4412 SDK 1506

tiny4412+button

button+tiny441201

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 相关资料