【ARM 裸机】蜂鸣器

【ARM 裸机】蜂鸣器

码农世界 2024-05-19 前端 56 次浏览 0个评论

有了上一节:【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 灭,同时蜂鸣器不响。

转载请注明来自码农世界,本文标题:《【ARM 裸机】蜂鸣器》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,56人围观)参与讨论

还没有评论,来说两句吧...

Top