BCM2835 GPIO library介绍

This is a C library for Raspberry Pi (RPi). It provides access to GPIO

and other IO functions on the Broadcom BCM 2835 chip, as used in the

RaspberryPi, allowing access to the GPIO pins on the 26 pin IDE plug

on the RPi board so you can control and interface with various

external devices.

其链接如下

http://www.airspayce.com/mikem/bcm2835/

在之前的文章中也有介绍

https://blog.csdn.net/feiwatson/article/details/80781683

https://blog.csdn.net/feiwatson/article/details/80779159

利用其来实现简单按键应用。代码如下

/* key.c
* you can build this like:
* gcc -Wall key.c -o key -lbcm2835
* sudo ./key
*/
#include <bcm2835.h>
#include <stdio.h> char KEY = 20;
unsigned char i;
int main(int argc, char **argv)
{
if (!bcm2835_init())return 1;
bcm2835_gpio_fsel(KEY, BCM2835_GPIO_FSEL_INPT);
bcm2835_gpio_set_pud(KEY, BCM2835_GPIO_PUD_UP);
printf("Key Test Program!!!!\n");
while (1)
{
if(bcm2835_gpio_lev(KEY) == 0)
{
printf ("KEY PRESS\n") ;
while(bcm2835_gpio_lev(KEY) == 0)
bcm2835_delay(100);
}
bcm2835_delay(100);
}
bcm2835_close();
return 0;
}

交叉编译makefile如下,(也可以选择直接在树莓派板上编译)

CC = /home/xxx/Raspberry/tools-master/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc-4.9.3
CFLAGS = -I./ -L./lib
CFLAGS += -Wall
key:key.c
$(CC) $(CFLAGS) key.c -o key -lbcm2835
clean:
rm key event

如果直接在板上编译,

 gcc -Wall key.c -o key -lbcm2835

运行, 按下按键后,输出“KEYPRESS”

pi@raspberrypi:~/learning/bcm2835/key_test $ ./key
Key Test Program!!!!
KEY PRESS
KEY PRESS
KEY PRESS
KEY PRESS
KEY PRESS

硬件接线:

树莓派 -- 按键 (key)使用BCM2835 gpio library的更多相关文章

  1. 关于RPi.GPIO、BCM2835 c library、WiringPi、Gertboard

    1.RPi.GPIO//RPi.GPIO-0.5.5.tar.gz 开发者:python官网:https://www.python.org/ 官网:https://pypi.python.org/py ...

  2. stm32开发笔记(三):stm32系列的GPIO基本功能之输出驱动LED灯、输入按键KEY以及Demo

    前言   stm32系列是最常用的单片机之一,不同的版本对应除了引脚.外设.频率.容量等'不同之外,其开发的方法是一样的.  本章讲解使用GPIO引脚功能驱动LED灯和接收Key按钮输入.   STM ...

  3. OpenWRT中的按键和灯的GPIO控制实现_转

    本文转自:OpenWRT中的按键和灯的GPIO控制实现 基于BarrierBreaker版本,基于AR9331 AP121 Demo单板 来进行描述 1.灯 A.在mach-ap121.c中,定义了灯 ...

  4. FPGA与simulink联合实时环路系列——实验三 按键key

    实验三 按键key 实验内容 在FPGA的实验中,经常涉及到按键的使用,按键是必不可少的人机交互的器件之一,在这些实验中,有时将按键的键值读取显示到数码管.LCD或者是通过串口传送到PC的串口助手上进 ...

  5. 树莓派.使用Node.js控制GPIO

    树莓派上的40个GPIO是最好玩的东西 它们可以被C,/C++, Python, Java等语言直接控制 现在就来看看怎么用Node.js做到同样的事情 在试验之前, 请先安装好Node.js, 具体 ...

  6. OpenWRT中的按键和灯的GPIO控制实现

    基于BarrierBreaker版本,基于AR9331 AP121 Demo单板 来进行描述 1.灯 A.在mach-ap121.c中,定义了灯所对应的GPIO定义: #define AP121_GP ...

  7. Java Map按键(Key)排序和按值(Value)排序

    Map排序的方式有很多种,两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value).1.按键排序jdk内置的java.util包下的TreeMap<K,V ...

  8. Pi# - Raspberry Pi GPIO Library for .NET

    Project Description Pi# (pronounced “Pi Sharp”) is a library to expose the GPIO functionality of the ...

  9. 树莓派学习路程No.1 GPIO功能初识 wiringPi安装

    WiringPi是应用于树莓派平台的GPIO控制库函数,WiringPi遵守GUN Lv3.wiringPi使用C或者C++开发并且可以被其他语言包转,例如python.ruby或者PHP等.Wiri ...

随机推荐

  1. Ruby模块与类

    Ruby是单一继承,一个类只能有一个直接的母类 Mix-in 模式来处理复合需求 多重包含: 由下往上回溯,重复的只看最上方的      换句话说,程序由上往下执行,由具体到抽象,第二次发现同一个模块 ...

  2. 在代码里更新autolayout布局

    //遍历view约束(高,宽) NSArray* constrains = self.View.constraints; for (NSLayoutConstraint* constraint in ...

  3. springboot整合elasticsearch出错:java.lang.NoClassDefFoundError: org/elasticsearch/plugins/NetworkPlugin

    Caused by: java.lang.NoClassDefFoundError: org/elasticsearch/plugins/NetworkPlugin at java.lang.Clas ...

  4. macbook pro上安装vmware虚拟机

    http://xclient.info/s/vmware-fusion.html?_=84739015bcde24a4cc7a744d2d5f748b https://docs.vmware.com/ ...

  5. codeforces 570 E. Pig and Palindromes (DP)

    题目链接: 570 E. Pig and Palindromes 题目描述: 有一个n*m的矩阵,每个小格子里面都有一个字母.Peppa the Pig想要从(1,1)到(n, m).因为Peppa ...

  6. CodeForces 923C Perfect Security

    C. Perfect Security time limit per test3.5 seconds memory limit per test512 megabytes inputstandard ...

  7. (五)Python面向对象编程

    根据廖雪峰老师的python教程写一些学习总结! 面向对象编程 面向对象编程--Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元, ...

  8. 《linux就该这么学》学习笔记

    本篇文章是根据刘遄老师的<linux就该这么学>中个人易忘知识点的读书笔记,结合的是个人弱点,可能不适合广大的网友同学,并在此声明本篇文章只是用于学习之用,绝无侵犯版权之意 linux就该 ...

  9. 牛客小白月赛5-I-区间(差分求前缀和+一次暴力统计)

    题目描述 Apojacsleam喜欢数组. 他现在有一个n个元素的数组a,而他要对a[L]-a[R]进行M次操作: 操作一:将a[L]-a[R]内的元素都加上P 操作二:将a[L]-a[R]内的元素都 ...

  10. 题解报告:hdu 1212 Big Number(大数取模+同余定理)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1212 Problem Description As we know, Big Number is al ...