第46讲 控制蜂鸣器

野火【第一期】Linux系列教学视频之“零基础入门”篇,手把手教学,从0开始,基于野火i.MX6ULL Pro/MINI开发板

第46讲 控制蜂鸣器_哔哩哔哩_bilibili

这次和上次不一样,上次使用的是驱动程序中的led子系统,而这次是使用GPIO子系统。

LED子系统已经把硬件的操作接口导出到用户空间了,但是GPIO子系统并没有帮我们把控制蜂鸣器的GPIO接口导出到用户空间,我们需要手动去导出

首先我们从原理图上找出需要导出的GPIO引脚

可以看到GPIO1_19,1表示组号,19是组内的编码(对于i.MX6ull来说)

GPIO1_19在linux系统中的引脚编号规则:(组号-1)*32+组内引脚编码,即19

导出GPIO子系统硬件操作接口方法:在/sys/class/gpio/export中把引脚编号写进去就可以

可以看到开发板的系统中,GPIO文件夹下并没有19的操作接口,但是有export

 直接sudo echo 19 > /sys/class/gpio/export

就可以看到GPIO19

 

进去后可以看到以下文件,我们重点关注direction和value

 direction主要用来控制GPIO19的输入输出模式,当设置in时,GPIO19出于输入模式,设置为out时成为输出模式。

value表示,在输出模式时,将其置1表示此芯片输出高电平,value为0时,芯片输出底电平

 

 搞清楚在用户空间的接口后,控制其就非常简单了

控制程序

 打开includes头文件文件夹中的bsp_beep.h

 #ifndef是防止头文件包含的宏定义

看sources文件夹,包含bsp_beep.c和main.c文件

看bsp_beep.c

 初始化蜂鸣器函数:只写模式打开export文件,向其写入芯片引脚值(该常量即19定义在头文件中)

打开 导出的文件夹的direction文件,写入out

 往unexport中写入19即是去掉我们在用户空间的硬件操作接口

开启和关闭蜂鸣器

 

再来看main.c文件

 调用之前的函数

while里循环等待输入

Makefile

 改了名字和路径

最后没有gcc的命令,好像是自动编译的吧,,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值