| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 第2期ARM裸机篇:【12】蜂鸣器实验 -> 正文阅读 |
|
[嵌入式]第2期ARM裸机篇:【12】蜂鸣器实验 |
简介前几篇实验中的驱动 LED 灯亮灭属于 GPIO 的输出控制,本篇再巩固一下 I.MX6U 的 GPIO输出控制,在 I.MX6U-ALPHA 开发板上有一个有源蜂鸣器,通过 IO 输出高低电平即可控制蜂鸣器的开关,本质上也属于 GPIO 的输出控制。 目标巩固一下 I.MX6U 的 GPIO输出控制,通过 IO 输出高低电平即可控制蜂鸣器的开关。 阅读基础熟悉计算机。 环境说明
参考资料
工程管理简介蜂鸣器常用于计算机、打印机、报警器、电子玩具等电子产品中。 常用的蜂鸣器有两种:有源蜂鸣器和无源蜂鸣器,这里的有“源”不是电源,而是震荡源,
有源蜂鸣器只要通电就会叫,所以我们可以做一个供电电路,这个供电电路可以由一个 IO来控制其通断,一般使用三极管来搭建这个电路。 为什么我们不能像控制 LED 灯一样,直接将GPIO 接到蜂鸣器的负极,通过 IO 输出高低来控制蜂鸣器的通断。因为蜂鸣器工作的电流比LED 灯要大,直接将蜂鸣器接到 I.MX6U 的 GPIO 上有可能会烧毁 IO,所以我们需要通过一个三极管来间接的控制蜂鸣器的通断,相当于加了一层隔离。 本篇我们就驱动 硬件原理分析蜂鸣器的硬件原理图如图所示: 图中通过一个
实验程序编写新建文件夹“6_beep”,然后将上一篇试验中的所有内容拷贝到刚刚新建的“6_beep”里面,拷贝完成以后的工程如图所示: 用VSCode打开文件夹,完成以后在 bsp 文件夹下新建名为“beep”的文件夹,蜂鸣器驱动文件都放到“beep”文件夹里面。如下图: 新建 beep.h 文件,保存到 bsp/beep 文件夹里面,在 beep.h 里面输入如下内容
beep.h 很简单,就是函数声明。新建文件 beep.c,然后在 beep.c 里面输入如下内容:
beep.c 文件一共有两个函数: 最后在 main.c 函数中输入如下所示内容:
main.c中只有一个main函数,
main.c 的内容也比较简单。 编译下载验证编写 MakefileMakefile 使用上一篇编写的通用 Makefile, 第2期ARM裸机篇:【11】BSP工程管理实验_心飞的博客-CSDN博客 第2期ARM裸机篇:【11】BSP工程管理实验_心飞的个人网站
修改完成以后如下所示:
第 2 行修改目标的名称为“beep”。 第 10 行在变量 INCDIRS 中添加蜂鸣器驱动头文件路径,也就是文件 beep.h 的路径。 第 16 行在变量 SRCDIRS 中添加蜂鸣器驱动文件路劲,也就是文件 beep.c 的路径。 编写链接脚本链接脚本就使用上一篇试验中的链接脚本文件 imx6ul.lds 即可,如下:
编译下载参考文章:第2期ARM裸机篇:【6】 汇编LED驱动实验1_汇编LED代码编写_心飞的博客-CSDN博客 参考文章:第2期ARM裸机篇:【6】 汇编LED驱动实验1_汇编LED代码编写_心飞的博客-个人网站 使用 Make 命令编译代码,编译成功以后使用软件 imxdownload 将编译完成的 bsp.bin 文件下载到 SD 卡中,命令如下:
烧写成功以后将 SD 卡插到开发板的 SD 卡槽中,然后复位开发板。如果代码运行正常的话 LED 灯亮的时候蜂鸣器鸣叫,当 LED 灯灭的时候蜂鸣器不鸣叫。 其他相关资源下载I.MX6ULL SDK包.rar-嵌入式文档类资源-CSDN下载 I.MX6ULL官方SDK包移植头文件.rar-嵌入式文档类资源-CSDN下载 小有收获有收获记得三连哦:😄 最近更新欢迎关注微信公众号 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 5:55:57- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |