这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 国产MCU » ELF1开发板+GPIO口的使用

共2条 1/1 1 跳转至

ELF1开发板+GPIO口的使用

高工
2025-03-18 17:01:25     打赏

ELF 1开发板配有功能扩展的接口P2和P6,可选取其中的GPIO口来进行功能开发。

之所以这样讲,是因此板上已命名的资源均已被系统占用,除非重新更改程序,否则无法在原基础上加以变更功能来使用。

以板载的3个LED为例,所占用的引脚分别为30、60和64。由于这些引脚已被占用,故无法再以“echo 1 > gpio64/value的方式来点亮,而只能以“echo 1 > led3/brightness” 的方式。

经查看,板上可以GPIO口方式直接使用的引脚只有2个,即IO3_24和IO5_06。

那该如何来使用这2个引脚呢?

在使用前,先要了解将引脚名称转换为引脚号的规则。

其转换规则为:

GPIOn_IOx =(n-1)*32 + x

以 GPIO3_IO24 为例,其引脚号为88,即GPIO4_IO22=(3-1)*32+24=88。

而IO5_06的引脚号则为134,即GPIO5_IO6=(5-1)*32+6=134。

弄清了引脚号,就可以进行使用了。

为进行GPIO口输出功能的测试,可在相应的引脚外挂一个LED模块。

以引脚IO5_06为例,要利用它来控制LED模块,在完成引脚连接后,需执行如下的操作步骤为:

1)生成GPIO88

其指令为:

cd  /sys/class/gpio

echo 88 > export

2)将GPIO88设置为输出口

其指令为:

echo out > gpio88/direction

3)控制GPIO88输出高低电平

其指令为:

echo 1 > gpio88/value

4)控制GPIO88输出高低电平

其指令为:

echo 0 > gpio88/value

image.png

所实现的效果如图1和图2所示:

image.png

图1 点亮LED

image.png

图2熄灭LED

若将LED模块连接到引脚IO5_06,则应生成GPIO134,并通过对GPIO134的操作来控制LED的亮灭,其效果如图3和图4所示。

image.png

image.png

图3 点亮LED

image.png

图4熄灭LED

为进行GPIO口输入功能的测试,可在相应的引脚外挂一个触摸模块。

以引脚GPIO3_IO24为例,在完成引脚连接后,需执行如下的操作步骤为:

1)生成GPIO88

其指令为:

cd  /sys/class/gpio

echo 88 > export

2)设置为输入口

其指令为:

echo in > gpio88/direction

3)读取触摸模块状态

其指令为:

cat gpio88/value

经测试,其效果如图5所示,即在触摸时,其输入状态为1(高电平状态);在常态下,其输入状态为0(低电平状态)。

image.png

image.png

图5触摸检测

此外,可使用下面的方法将状态检测值保存到变量来使用,见图6所示。

image.png

图6 状态存储

以触摸模块控制LED灯的程序为:

image.png

image.png

通过如下的指令可执行该脚本程序,其效果如图7和图8所示。

image.png

若想终止运行,则需同时按下CTRL+C键。

image.png

图7 点亮LED

image.png

图8 熄灭LED





关键词: ELF     引脚     GPIO    

专家
2025-03-19 14:34:38     打赏
2楼

使用linux开发,似乎也没那么难。底层驱动是自己开发的吗?


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]