I.MX6ULL开发笔记(二)——硬件外设操作

0x01 点亮第一个RGB灯

在文章http://t.csdnimg.cn/EGWt9中有介绍Linux下文件目录,那么在Linux系统下,RGB灯也是一个设备,所以我们需要到`/sys`目录下去操作这个设备。

之后,我们进入到class目录,这里挂载着开发板上的外设:

在这里就能看到熟悉的硬件接口了,那么我们进入到leds的目录下:

可以看到里面有红绿蓝三个文件,这也就是操作对应gpio的接口,那么我们可以进去看对应的文件夹:

那么我们可以这么去控制蓝灯的亮度,0~255代表灯光的亮度:

shell 复制代码
sudo echo 255 > /sys/class/leds/blue/brightness

之后就可以看到版上灯光亮起:

若想关闭可以设置如下:sudo echo 0 > /sys/class/leds/blue/brightness

其他颜色灯光打开也如上所示。

0x02 使用shell操控硬件

在这之前,我们需要安装一个脚本文件,使用命令sudo apt update进行软件源的刷新 。并且下载vim编辑器,sudo apt-get install vim。对于更新太慢的,可以使用命令:

shell 复制代码
sudo vi /etc/apt/sources.list

屏蔽后面这两句即可。这里用的是国外的软件源。之后安装我们的脚本文件preipheral

shell 复制代码
sudo apt install peripheral

这是野火自己构建的deb包。

之后就可以看到了我们所安装的脚本文件了:

那么执行这些脚本文件,就可以操作对应的硬件外设了,但是在这之前,我们需要在fire-config下将这些外设进行使能。

在这个目录下的:

如果之前没有禁止过任何模块,这些模块都是默认开启的,可以不用管他,后面标记着enable。

之后我们尝试执行一下led的脚本:sudo ./led.sh

这是一个闪灯程序。接下来测试按键功能,使用evtest的软件包,之后执行input.sh的脚本,在这能识别到这三个按钮:

注意不能长按,这个是强制开关机的。接下来玩玩蜂鸣器:

这里就放不了声音了,可以自己动手体验。其他脚本也是一样的执行方式,使用adc可以拧一下变阻器来观察,使用mpu的话可以动动开发板观察情况。

相关推荐
REDcker9 小时前
软件开发者需要关注CPU指令集差异吗?
linux·c++·操作系统·c·cpu·指令集·加密算法
Kyan.W12 小时前
shell好用的工具
linux·shell
小柯博客13 小时前
从零开始打造 OpenSTLinux 6.6 Yocto 系统 - STM32MP2(基于STM32CubeMX)(二)
stm32·单片机·嵌入式硬件·嵌入式·yocto·openstlinux·stm32mp2
DIY机器人工房13 小时前
简单理解:GPS 嵌入式设计核心框架、开发流程与实战要点(面试 / 项目落地双适配)
嵌入式·gps·bds·diy机器人工房·嵌入式面试题
技术小甜甜14 小时前
[电脑疑难档案] WSL 无法连接 MySQL 的解决方案:127.0.0.1 不管用?试试这个方法!
操作系统·开发·wsl
不穿格子的程序员1 天前
操作系统篇3——深入理解操作系统:Linux 常用命令、系统中断与用户态/内核态详解
linux·服务器·操作系统·内核态·用户态·中断
海棠蚀omo1 天前
Linux信号保存的核心:未决信号集与阻塞信号集——探秘内核如何实现信号的阻塞、暂存与派发
linux·操作系统
不穿格子的程序员1 天前
操作系统篇4——深入理解操作系统:僵尸进程、孤儿进程与进程调度算法详解
操作系统·僵尸进程·孤儿进程·进程调度
嵌入式大头1 天前
STM32CubeIDE手动移植FreeRTOS-动态创建任务和删除
嵌入式
代码AC不AC2 天前
【Linux】计算机的基石:从冯·诺依曼体系结构到操作系统管理
linux·操作系统·冯诺依曼体系结构