Linux 蜂鸣器驱动实验

中蜂鸣器使用的 PIN 为 SNVS_TAMPER1,因此先检查 PIN 为 SNVS_TAMPER1 这个 PIN 有没有被其他的 pinctrl 节点使用,如果有使用的话就要屏蔽掉,然后再检查 GPIO5_IO01 这个 GPIO 有没有被其他外设使用,如果有的话也要屏蔽掉。第 6 行,pinctrl-0 属性设置蜂鸣器所使用的 PIN 对应的 pinctrl 节点。./beepApp /dev/beep 1 //打开蜂鸣器。/beepApp /dev/beep 0 //关闭蜂鸣器。
摘要由CSDN通过智能技术生成

蜂鸣器驱动原理

①、在设备树中添加 SNVS_TAMPER1 引脚的 pinctrl 信息。

②、在设备树中创建蜂鸣器节点,在蜂鸣器节点中加入 GPIO 信息。

1、修改设备树文件


  • 添加 pinctrl 节点

I.MX6U-ALPHA开发板上的BEEP使用了SNVS_TAMPER1这个PIN,打开imx6ull-alientekemmc.dts,在 iomuxc 节点的 imx6ul-evk 子节点下创建一个名为“pinctrl_beep”的子节点,节点 内容如下所示:

 

  • 添加 BEEP 设备节点

在根节点“/”下创建 BEEP 节点,节点名为“beep”,节点内容如下:

beep {
     #address-cells = <1>;
     #size-cells = <1>;
     compatible = "atkalpha-beep";
     pinctrl-names = "default";
     pinctrl-0 = <&pinctrl_beep>;
     beep-gpio = <&gpio5 1 GPIO_ACTIVE_HIGH>;
     status = "okay";
 };

第 6 行,pinctrl-0 属性设置蜂鸣器所使用的 PIN 对应的 pinctrl 节点。

第 7 行,beep-gpio 属性指定了蜂鸣器所使用的 GPIO。

  • 检查 PIN 是否被其他外设使用

中蜂鸣器使用的 PIN 为 SNVS_TAMPER1,因此先检查 PIN 为 SNVS_TAMPER1 这个 PIN 有没有被其他的 pinctrl 节点使用,如果有使用的话就要屏蔽掉,然后再检查 GPIO5_IO01 这个 GPIO 有没有被其他外设使用,如果有的话也要屏蔽掉。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值