1. 控制LED灯设备
驱动程序
本质:为硬件设备创建相应的设备节点文件
创建设备文件时,规定好设备文件的使用方式。
应用程序
根据驱动程序规定的设备文件使用方式去控制硬件
控制硬件设备步骤(重要)
1、找出硬件设备所对应的设备节点文件
两个地方:
-
/dev目录下
对驱动程序熟悉的工程师可以使用,一个设备节点文件控制硬件全部特性
-
/sys目录下
业余工程师使用,一个设备节点文件只控制硬件的一个特性
严格来说,它下面的文件是Linux内核导出到用户空间的硬件操作接口
2、找出驱动程序规定的设备文件使用方式(重要)
设备文件:就是驱动工程师根据硬件的数据手册,完成的设备驱动文件,Linux应用工程师就可以根据这个设备文件,完成对硬件的操作。
LED灯程序
设备节点文件:/sys/class/leds
往brightness文件写入一个数值,就能控制led灯的亮度
led亮度值:0~255
在开发板里面编译程序之前,需要提前安装gcc和make工具
sudo apt install gcc/make
2.实践----通过已有的设备文件控制蜂鸣器
实现整体命令
sudo sh -c ‘命令’ #由于sudo只是提升权限最靠近它的指令的权限,因此有时候有两个指令的时候,就需要这样进行整合,sudo sh -c ‘echo 1 > /sys/class/gpio/gpio19/vulue’
需要手动导出控制蜂鸣器的GPIO操作接口
引脚:GPIO1_19,1代表组号,19是组内引脚编码
Linux系统引脚编号规则:(组号-1)*32+组内引脚编码。
因此:GPIO1_19在Linux内核的引脚编号为19
导出gpio子系统硬件操作接口方法:
/sys/calss/gpio/export,把引脚编号写进去。
gpio19/direction:控制芯片引脚的输入输出模式。
- in代表输入
- out代表输出
gpio19/value:控制输出电平
- 1代表高电平
- 0代表低电平