NXP i.MX6 ARM-Linux蜂鸣器的使用

项目场景:

眺望电子TW-IMX6DL-EVM开发板上使用蜂鸣器:

编译环境及开发包:
主机:ubuntu18.04
交叉编译器:arm-linux-gnueabihf-gcc
QT5.12.8:qt-everywhere-opensource-src-5.12.8
开发板:TW-IMX6DL-EVM
Linux:Linux-4.1.15
串口工具:Xshell

注意:本文章的所有命令涉及到的路径均为眺望电子官方环境路径,需根据自身实际环境改变。本文所演示的平台来自于眺望电子 iMX6 ARM嵌入式平台,这是一个基于NXP iMX6 ARM处理器,支持单核/双核Cortex-A9的核心板。


解决方案:

1.蜂鸣器使用

IMX6DL核心板导出一个蜂鸣器,通过GPIO1_IO04(gpio4)控制,高电平蜂鸣器鸣叫,低电平停止。
原理图

1.1添加pinctrl信息

打开imx6dl-sabresd.dts文件在iomux节点的子节点下创建一个名为“pinctrl_beep”的子节点,具体内容如下:

pinctrl_beep: gpio-beep { 
                fsl,pins = < 
                        MX6QDL_PAD_GPIO_4__GPIO1_IO04   0x10B0 
                >; 
 };

1.2编译设备树,并更新到开发板

twdz@ubuntu:~/csh_linux/a9_kernel/kernel-source$ ./build-dtb-sc.sh 
  DTC     arch/arm/boot/dts/imx6dl-sabresd.dtb
make[1]: 'arch/arm/boot/dts/imx6q-sabresd.dtb' is up to date.

在不使用蜂鸣器的情况下,该引脚可做GPIO来使用,使用方法与“GPIO命令行操作”相同。操作范例如下。

root@imx6dlsabresd:~# cd /sys/class/gpio/
root@imx6dlsabresd:/sys/class/gpio# echo 4 >export
root@imx6dlsabresd:/sys/class/gpio# cd gpio4
root@imx6dlsabresd:/sys/class/gpio/gpio4# echo out >direction
root@imx6dlsabresd:/sys/class/gpio/gpio4# echo 1 >value					    #蜂鸣器鸣叫
root@imx6dlsabresd:/sys/class/gpio/gpio4# echo 0 >value						#蜂鸣器停止
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

眺望电子-ARM嵌入式

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值