创客神器NanoPi
直播中

8年用户 208经验值
擅长:电源/新能源 控制/MCU
私信 关注
[经验]

【NanoPi M2试用体验】GPIO

GPIO调试
项目的最终目的是使用开发板远程采集数据和控制PLC,所以控制开发板IO口是必经之步。通过创客秘籍了解,最普通可以有两种方法控制开发板IO,一是直接通过修改GPIO寄存器值;二是使用python编程调用库。修改寄存器值是基础,通过python编程控制是为以后高效开发,so一步一步走,以便更好的理解GPIO
一、通过寄存器控制GPIO
linux系统中一切都是以文件形式进行存储和管理的当然GPIO也不例外,也就是说有一个文件和一个IO管脚对应,当文件中管理IO寄存器写入1GPIO高电平;反之亦然。
那首先我们就要找到GPIO的文件,路径为/sys/class/gpio,路径图片。
GPIO 文件路径.jpg
看到GPIO文件夹下,有如图的文件,参考创客秘籍对其解释如下
文件解释.jpg
让我们在来了解一下,开发板端口分布,如图
开发板管脚定义.jpg
我们就跟着前辈走,选择GPIOB2626管脚。
管脚声明,文件说明图中显示gpiochip32对应的是GPIOB1,那么GPIOB26对应的文件应为偏移2632+26=58giop58。在/sys/class/gpio下,终端输入echo 58 > export声明成功后会显示gpio58(需要root权限,sudo su切换root账户,),如图
chip58 声明.jpg
echo [ 动作 ] > direction 动作为 outinhighlow
echo in >direction 定义端口为输入
cat direction 查看端口
端口接入3.3V
端口输入 电平 高.jpg
cat value
端口输入 1.jpg
端口接入GDND
端口输入 电平 低.jpg
cat value
端口输入 0.jpg
echo out >direction 定义端口为输出
cat direction 查看端口
端口输出.jpg
端口high
led
端口输出led亮.jpg
端口low
led
端口输出led灭.jpg
Led 长脚正,短假负,接一个限流电阻。
二、使用python控制GPIO
Python运行环境,系统自带python软件,先update一下。
python 环境.jpg
创客秘籍上两只方式安装库,一种是下载库使用setup.py安装亲测不好用,安装麻烦不说,而且运行程序是很多关联模块还要再下载,推荐使用pip安装我也只介绍这个。
首先,安装pip
sudo apt-get install python-pip
安装成功后 sudo pip 会出现pip 命令
pip 命令.jpg
安装 gpio
sudo pip install gpio
Sudo pip list 安装成功会列出安装的库
pip list.jpg
编写python程序,输入10控制led亮灭,将程序注释去掉小做修改就是闪烁程序
led 程序.jpg
运行程序
程序运行.jpg
将介绍开发板于PLC通信

回帖(5)

jinyi7016

2016-6-5 15:34:44
本帖最后由 jinyi7016 于 2016-6-5 15:37 编辑

还可以使用C语言,按手册上的寄存器地址操作
举报

2016-6-5 21:45:18
引用: jinyi7016 发表于 2016-6-5 15:34
还可以使用C语言,按手册上的寄存器地址操作

前辈能否给份手册学习学习,手头只有创客秘籍和wiki arm friendly
举报

泡芙奶昔

2016-6-6 09:54:00
创客秘籍还有点用嘛
举报

lee_st

2017-5-2 11:15:46
看着很牛的样子哦,
举报

更多回帖

发帖
×
20
完善资料,
赚取积分