前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【飞凌 OK113i-C 全志T113-i开发板】GPIO的控制

【飞凌 OK113i-C 全志T113-i开发板】GPIO的控制

作者头像
阿志小管家
发布2024-02-02 19:46:52
1850
发布2024-02-02 19:46:52
举报

我的第一个控制:LED点亮

前面搭建完了开发环境了,下面可以尝试别的简单方法,跑一下板载的外部资源,控制一个LED亮灭(通常称电灯实验)是一个比较常见的板载资源测试功能之一。下面来尝试一下控制板子上的下面这颗用户的LED灯。 从图中可以看出,D1这颗LED灯接在了PG11引脚上,通过R1电阻接到VCC电源进行限流,并使用CQA34N00这颗N沟道MOS管进行控制,而控制引脚PG11接了2K的电阻进行上拉。给出厂的板子上电,这颗LED保持常亮。

下面通过文件操作的方法控制一下这个LED灯 首先进行一下引脚编号的计算。 根据 #define PIN_NO(port, line) (((port) - 'A') * 0x20 + (line))进行计算 其中 port 为 gpio 端口,line 为该 gpio 对应引脚,((port)-'A')代表 ASCII 码相减。 如这颗LED的引脚 PG11对应的 pin 引脚编号为IN_NO('G',11)=(0x47-0x41)*0x20+11=(71-65)*32+11=107。 也就是说,这颗LED的引脚实际使用编号就为203. 然后登录一下板子的系统,通过如下命令查看文件GPIO,同时也进入到GPIO文件夹中,方便后续测试操作。

可以看到已经有了export和unexport

接下去使用 Echo 203 > /sys/class/gpio/export 进行引脚导出命令,就能看到多出了gpio203文件夹

进入gpio203文件夹,看看内含文件

82776055-f2f4-4841-b5d8-5a1460046a42-image.png
82776055-f2f4-4841-b5d8-5a1460046a42-image.png

其中,direction为gpio的输入输出方向配置,value则为输入输出的值了。可以配置前者为输出,后者为1和0分别控制led的亮和灭了。 使用 echo "out" > /sys/class/gpio/gpio203/direction 将引脚的方向设置为输出,并使用 cat /sys/class/gpio/gpio203/direction 查看上面的设置输出是否成功正确。

4235f70c-8d4a-4d6a-b11c-33cad2df756d-image.png
4235f70c-8d4a-4d6a-b11c-33cad2df756d-image.png

这时候板载的这颗LED状态就熄灭了,因为默认的value值从哪读取来看应该为0

4ea4948f-4c52-434f-8e45-1422d2424041-image.png
4ea4948f-4c52-434f-8e45-1422d2424041-image.png

接下去就可以通过写value文件的内容为1和0,分别控制LED灯的亮和灭了。

a8ca9411-b2e3-42b7-a4d8-d95c46c15ac3-image.png
a8ca9411-b2e3-42b7-a4d8-d95c46c15ac3-image.png

设备树那边也定义了一个T113-i核心板上的板载LED,这颗LED默认也就是作为Linux核心板的“心跳”功能使用的。

在sys/class下面

e712802a-eaff-4281-8e7a-2918412cd2a0-image.png
e712802a-eaff-4281-8e7a-2918412cd2a0-image.png

可以发现有一个heartbeat的文件夹,并可以发现其里面的如下的文件

438bef04-4d7f-429a-9574-4ac965dc6892-image.png
438bef04-4d7f-429a-9574-4ac965dc6892-image.png

其中控制brightness文件内容即可控制这颗LED的亮灭状态了,也就是写1和0分别就可以控制其亮和灭的状态。

86e3f6a3-2463-47de-84b5-edee30db6ac2-image.png
86e3f6a3-2463-47de-84b5-edee30db6ac2-image.png
852b2dd5-a61a-4489-9e0d-a39be7d73add-image.png
852b2dd5-a61a-4489-9e0d-a39be7d73add-image.png

还可以从板子设备树的具体文件夹具体文件中的leds中找到对应的引脚定义,可以暗道使用引脚就是PG16,GPIO_ACTIVE_HIGH指定了其点亮的电平为高电平。

81e5d5a5-4085-40a1-8a0b-ccababe1d960-image.png
81e5d5a5-4085-40a1-8a0b-ccababe1d960-image.png

以上就是通过设备树中的gpio和leds来控制核心板和底板上的led的亮灭状态功能了。

6a4a6314-7925-4a64-8448-d15f8ab0d7c5-image.png
6a4a6314-7925-4a64-8448-d15f8ab0d7c5-image.png
e1fc5155-31f8-4392-a6ff-e269fef62845-image.png
e1fc5155-31f8-4392-a6ff-e269fef62845-image.png
7f8f7cba-a22a-4995-9fa3-824b72177b15-image.png
7f8f7cba-a22a-4995-9fa3-824b72177b15-image.png

确认可执行文件的权限并更新

4b31a9a1-1024-4734-a472-87f57c087198-image.png
4b31a9a1-1024-4734-a472-87f57c087198-image.png

然后通过sftp,传给开发板的home/my_test路径下,并通过ls命令确认

f58d52ad-2c2d-40ed-b248-6bfd6c6cc30c-image.png
f58d52ad-2c2d-40ed-b248-6bfd6c6cc30c-image.png

执行,输入对应的引脚编号就可以看到翻转三次了

773f3203-ae0c-461a-bd6b-4fc186fef7e9-image.png
773f3203-ae0c-461a-bd6b-4fc186fef7e9-image.png

其主要实现代码为 输入引脚编号

0913069c-c1f5-4a45-9046-afac2b498d80-image.png
0913069c-c1f5-4a45-9046-afac2b498d80-image.png

Export引脚到文件

01c1683e-9b83-4f89-aef8-5102e57ce706-image.png
01c1683e-9b83-4f89-aef8-5102e57ce706-image.png

设置方向为out

c1aefabf-5ab8-4797-9043-a5b3d7388780-image.png
c1aefabf-5ab8-4797-9043-a5b3d7388780-image.png

翻转三次

d4766b6f-788b-4adb-ace4-2dce5c1b6cde-image.png
d4766b6f-788b-4adb-ace4-2dce5c1b6cde-image.png

最后还需要unexport

c964c36e-a517-425f-961f-64018007a500-image.png
c964c36e-a517-425f-961f-64018007a500-image.png

原贴链接:【飞凌 OK113i-C 全志T113-i开发板】5.GPIO的控制 | 全志在线开发者论坛

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-12-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档