nxp_7|GPIO控制(按键和点灯)

本实验基于MIMXRT1050-EVK开发板,利用Arduino引脚通过杜邦线连接按键和LED灯,实现了灯的闪烁及按键控制灯的亮灭。通过Linux shell命令设置GPIO方向和值,以1秒间隔控制GPIO9的高低电平实现灯的闪烁。同时,通过GPIO27读取按键状态,实时控制GPIO9的输出,达到按键开关灯的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本此小实验使用的是arduino的引脚,通过杜邦线外接按键和小led灯
在这里插入图片描述

手册

根据手册可知,B1_11对应GPIO27(16+11),B0_09对应GPIO09
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

功能实现

灯闪烁

根据指导书可知通过将GPIO的编号写入文件,路径是sys/class/gpio,比如给出的示例是创建GPIO19的节点
在这里插入图片描述
然后在对应目录里进行方向(direction)和值(value)的设置,所谓方向就两个,即in 和out 代表输入和输出,值也是两个,1和0代表高和低电平。
在这里插入图片描述

本示例是GPIO9所以执行:

/sys/class/gpio/# echo 9 > export

之后会在gpio目录生成gpio9
在这里插入图片描述
把方向设为输出

/sys/class/gpio # echo out > /sys/class/gpio/gpio9/direction

亮灯和灭灯

/ # echo 1 > /sys/class/gpio/gpio9/value
/ # echo 0 > /sys/class/gpio/gpio9/value

可以通过shell编程来实现一秒钟闪烁灯
具体过程如下:


/ # ls sys/class/gpio/
export       gpiochip128  gpiochip64   unexport
gpiochip0    gpiochip32   gpiochip96
/ # echo 9 > /sys/class/gpio/export
/ # ls sys/class/gpio/
export       gpiochip0    gpiochip32   gpiochip96
gpio9        gpiochip128  gpiochip64   unexport
/ # echo out > /sys/class/gpio/gpio9/direction
/ # fec 402d8000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
while [ 1 ]; do echo 1 > /sys/class/gpio/gpio9/value; sleep 1; echo 0 > /sys
/class/gpio/gpio9/value; sleep 1; done
^C

/ # 

按键控制灯

echo 27 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio27/direction
while [ 1 ]; do cat /sys/class/gpio/gpio27/value > /sys/class/gpio/gpio9/value; done
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值