3529|1

7

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

迅为imx6ull开发板使用c语言调用shell命令控制led灯 [复制链接]

本帖最后由 G.栀寒 于 2021-10-8 14:36 编辑

用命令来控制 led 灯没有感觉,那可以使用程序来控制,让程序帮我们输入这些命令,我们可以使用system 函数来完成。
头文件:#include
格式:system(要执行的命令)
代码实现:

我们来写一下这个程序,我们进到 samba 指定的这个路径下,我们在这个路径下创建 c 程序,名为 led.c,然后用 source insight 打开这个文件,因为这个程序非常简单,我直接复制程序,我们在进入 while 循环之前先设置了下 led 触发方式,把它设置成没有触发,这个就有点类似于 32 单片机上对管脚的初始化,也就是我们先初始化一下管脚,我们再进行管脚的操作,然后我们进入到 while 循环,我们不断的给 led2 进行置 0 置 1 ,我们把这个延迟改小一点,改成 1 秒,然后保存,如下图所示。


打开 ubuntu,进到 samba 指定的这个路径下,我们就可以在 samba 这个路径看到 .c 文件了,如下图所示。

然后我们把 .c 文件从 samba 指定的目录把它考到 ubuntu 的目录下,然后我们进到这个目录,如下图所示。

我们直接使用交叉编译器编译下 led.c ,因为是在开发板上运行的,所以就不能使用 gcc 了。我们使用静态编译,这样就得到了 led 这个可执行的程序。如下图所示。

把这个可执行文件拷贝到开发板,我们可以使用 U 盘或者 TF 卡也可以使用 NFS ,这个依据自己的习惯来就可以了,我这里使用 nfs 。进到开发板的控制终端,然后给开发板连下网,我先配置下无线密码,然后联网,因为我这里要使用 nfs, 然后我们来挂载下这个目录,然后我们把 led 这个可执行文件拷贝到 nfs共享的目录,这样就可以在开发板上看到 led 这个可执行文件了,我这里给他拷贝到开发板上,进到 opt 这个目录下,如下图所示。

s 看一下,如下图所示。

我们来运行下这个可执行文件,如下图所示。

可以看到开发板现在 led2 这个灯的状态,来执行下这个可执行文件,这个灯就是一闪一闪的了,如下图所示。

使用 ctrl+c 打断这个程序的运行,这个灯现在已经不亮了,如下图所示。

然后我们在运行下,这样我们就使用程序成功控制了一个灯并实现了一个闪灯的程序,其实这个程序里面的方法和我们直接使用命令的方法是一样的,只不过我们是使用 c 语言来调用我们的 shell 命令来实现,就不用再人为的输入了。
在 led 设备的这个目录下,还有一个叫 beep 的蜂鸣器设备,蜂鸣器我们也可以使用这个方法来打开和关闭蜂鸣器,这就作为一个作业大家自己来试下,方法和点亮一个 led 灯方法是一样的,我们可以先用命令来试下,然后再用 system 调用 shell 命令用程序实现。

IMG_0697.PNG (868.65 KB, 下载次数: )

IMG_0697.PNG

IMG_0697.PNG (868.65 KB, 下载次数: )

IMG_0697.PNG
此帖出自ARM技术论坛

最新回复

 c 语言来调用shell 命令感觉还是有区别   详情 回复 发表于 2021-10-8 21:21
点赞 关注
 

回复
举报

1700

帖子

0

TA的资源

五彩晶圆(初级)

沙发
 

 c 语言来调用shell 命令感觉还是有区别

此帖出自ARM技术论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表