ARM裸机开发:蜂鸣器实验
        【摘要】 
                    
                        
                    
                    ARM裸机开发:蜂鸣器实验 
一、硬件平台: 
正点原子I.MX6U阿尔法开发板 
 
二、原理图分析 
我们先看到开发板上的 BEEP 驱动电路,找到控制引脚原理图 
驱动电路 
 
控制引脚 
 
 ...
    
    
    
    ARM裸机开发:蜂鸣器实验
一、硬件平台:
正点原子I.MX6U阿尔法开发板

二、原理图分析
我们先看到开发板上的 BEEP 驱动电路,找到控制引脚原理图
驱动电路

控制引脚


对应的引脚是 GPIO5_IO01 ,该 IO 口通过电平简单的控制三极管通断,实现有源蜂鸣器的开启与关闭,这种控制方式有利于保护引脚,防止蜂鸣器工作时电路损坏 IO 口,该控制方式,高电平蜂鸣器开启,低电平蜂鸣器关闭
三、配置代码
代码基于上一节BSP工程代码进行修改,添加 bsp_beep 文件夹及其模块文件
bsp_beep.c文件
#include "bsp_beep.h"
void BSP_BEEP_INIT(void)
{
    IOMUXC_SetPinMux(IOMUXC_SNVS_SNVS_TAMPER1_GPIO5_IO01,0);
    IOMUXC_SetPinConfig(IOMUXC_SNVS_SNVS_TAMPER1_GPIO5_IO01,0x10b0);
    GPIO5->GDIR |= (1<<1);
    GPIO5->DR |= (1<<1);
}
  
 - 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
bsp_beep.h文件
#ifndef __BSP_BEEP_H
#define __BSP_BEEP_H
#include "fsl_iomuxc.h"
#include "MCIMX6Y2.h"
#define BEEP_ON() GPIO5->DR &=~(1<<1)
#define BEEP_OFF() GPIO5->DR |= (1<<1)
void BSP_BEEP_INIT(void);
#endif
  
 - 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
主函数进行调用
#include "bsp_led.h"
#include "bsp_clk.h"
#include "bsp_delay.h"
#include "bsp_beep.h"
int main(void)
{
    CLK_INIT();
    LED_INIT();
    while (1)
    {
        /* code */
        LED_ON();
        BEEP_ON();
        delay(1000);
        LED_OFF();
        BEEP_OFF();
        delay(1000);
    }
    return 0;
}
  
 - 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
修改一下 Makefile 文件进行构建,主要就是增加加构建路径
INCDIRS 		:= imx6ul \
				   bsp/bsp_clk \
				   bsp/bsp_led \
				   bsp/bsp_delay\				 
				   bsp/bsp_beep		
                   
SRCDIRS			:= project \
				   bsp/bsp_clk \
				   bsp/bsp_led \
				   bsp/bsp_delay\
				   bsp/bsp_beep
  
 - 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
以及改变目标文件名称
TARGET		  	?= beep
  
 - 1
修改完成,进行构建

四、实验现象
蜂鸣器周期性的响起
文章来源: blog.csdn.net,作者:JeckXu666,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/qq_45396672/article/details/121052082
        【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
            cloudbbs@huaweicloud.com
        
        
        
        
        
        
        - 点赞
- 收藏
- 关注作者
 
             
           
评论(0)