【Milk-V Duo开发板免费体验】+GPIO口的使用

电子说

1.3w人已加入

描述

在完成系统映像后,就可以执行LINUX的指令操作了,随手一个ls指令本来是想看看系统都提供了那些资源,结果却是一个啥也没瞧见!

后来收到资料的启发,才终于弄清其中的端倪。

1. 系统的目录结构

当首次登录后,所进入的实际是root目录,自然这里是啥都没有。此时,如果再向上进一层,则可见到图1所示的相关资源。

RISC-V

图1 目录结构

开发板的蓝色指示灯之所以能闪烁,那它自然要用到GPIO资源。这GPIO资源又存放在哪儿呢?

原来它是在/sys/class/gpio目录中,通过图2所示的操作可查看到对于的资源。

RISC-V

图2 搜索GPIO资源

2. LED的闪烁控制

既然找到了GPIO资源,那LED灯是如何产生闪烁效果的呢?

它是通过脚本程序blink.sh来控制的,其基本内容如图3所示。

RISC-V

图3 程序内容

那如何来验证这一结论呢?

可以通过编辑脚本程序blink.sh,来将while  ... done 间的执行语句屏蔽,从而以交互指令来控制LED灯。

LED灯的电路如图4所示,由此可知LED灯是通过高电平来点亮,即使用指令“echo 1 > gpio440/value”,可点亮LED;使用指令“echo 0 > gpio440/value”,可熄灭LED,见图5所示。

RISC-V

图4  LED电路

RISC-V

图5 控制指令

3. LED模块控制

既然可以控制板载的LED,那该如何控制外挂的LED模块呢?

这就涉及到引脚编号的使用,由资料可知LED灯所使用的是引脚GPIOC24,其引脚编号是440,是由GPIOC的基地址416加上引脚的序号24所构成的。

仿此,可用GPIOC9和GPIO10来控制外挂的LED模块,其引脚编号则是425和426。

RISC-V

图6  选用引脚

为此,可按图7所示的内容来控制外挂的LED模块,其控制效果如图8所示。

RISC-V

图7  操控指令

RISC-V

图8 点亮LED模块

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分