【ARM 裸机】蜂鸣器

有了上一节:【ARM 裸机】BSP 工程管理,所打下的基础,本节我们来完成一个蜂鸣器的工程应该比较简单;

1、准备工作

首先还是做一下准备工作,就不细说了,删除原来的工作区(ledc_bsp.code-workspace),然后另存现在的工作区到 beep 目录下,接着新建 beep 的 .h 和 .c 文件;
在这里插入图片描述
在这里插入图片描述
发现没有 .vscode 目录,那就要拷贝上一节的 .vscode 到现在的目录下;
在这里插入图片描述
修改 c_cpp_properties.json;
在这里插入图片描述

2、驱动编写

2.1、查看硬件连接

在这里插入图片描述
蜂鸣器 beep 的控制 IO 为 SNVS_TAMPER1(原子的教程说的),由三极管 S8550 PNP 型来驱动,IO 输出低电平蜂鸣器响,IO 输出高电平蜂鸣器不响;

2.2、蜂鸣器初始化

初始化包含设置 IO 复用、设置电气属性、GPIO 初始化;
在这里插入图片描述

2.3、蜂鸣器控制

在这里插入图片描述
不要忘记了函数声明;
在这里插入图片描述

3、调用

在 main.c 中包含 beep 的头文件以及调用 beep 的初始化函数;
在这里插入图片描述
在 Makefile 中稍作修改即可,改一下目标的名字包含的头文件包含的源文件三个地方;
在这里插入图片描述
编译;
在这里插入图片描述
烧写验证;
在这里插入图片描述

I.MX6ULL_beep


将SD卡插到开发板上之后,现象是:led1 亮的同时,蜂鸣器响,500ms 后,led1 灭,同时蜂鸣器不响。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值