Difference between revisions of "Matrix - Button/zh"
From FriendlyELEC WiKi
(→连接) |
(→连接) |
||
Line 21: | Line 21: | ||
*连接到TINY4412 SDK 1506 | *连接到TINY4412 SDK 1506 | ||
[[File:button&tiny4412.png|frameless|600px|tiny4412+button]] | [[File:button&tiny4412.png|frameless|600px|tiny4412+button]] | ||
− | [[File:button | + | [[File:button&tiny441201.jpg|thumb|button+tiny441201]] |
===Linux下的C示例=== | ===Linux下的C示例=== |
Revision as of 08:34, 26 August 2015
Contents
1 介绍
该按键在未按时输出高电平,按下后输出低电平。
2 特性
- 使用标准的3 PIN接口
- 尺寸为 8x24mm
- PCB尺寸(mm):8x24
3 工作原理
Matrix-Button主要器件是一个瞬时(非自锁)按钮开关,通过3-Pin 2.54mm排针中的S信号输出按钮开关的状态。平时没有按下按钮时触点断开,S输出高电平;当按下按钮时触点导通,S输出低电平,直到松开才恢复高电平。
4 使用方法
4.1 连接
- 将配件S针脚连接到GPIO PIN1, V接5V,G接地
- 连接到NanoPi
- 连接到TINY4412 SDK 1506
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上传到开发板上运行即可测试。