注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
q2113435929的个人空间 https://home.eeworld.com.cn/space-uid-650223.html [收藏] [复制] [分享] [RSS]
日志

Linux平台下UT4412BV03裸机开发指南(十一)

已有 1284 次阅读2015-10-19 16:01 |个人分类:Linux平台下UT4412BV03裸机开发指南系列| Linux, 开发, 4412, 开发板, arm

Linux平台下UT4412BV03裸机开发指南(十一)

 

第一章 控制蜂鸣器第一节 查看原理图

如何控制蜂鸣器,首先查阅原理图:

相关引脚:

第二节 程序相关讲解

完整代码见目录11.buzzer,蜂鸣器的操作十分简单,原理跟操作LED一样,通过控制GPDO_O这个引脚就可以达到控制蜂鸣器的目的。代码基本同4.system_clock_pll相同,下面讲下有区别的main.c.

1.main.c

#define GPD0CON (*(volatile unsigned long *)0x114000A0)

#define GPD0DAT (*(volatile unsigned long *)0x114000A4)

 

void delay (unsigned int i)

{

volatile unsigned int cnt = i;

while(cnt--);

}

 

void buzzer_init(void)

// 设置GPD0CONbit[0:15],配置GPD0_0引脚为输出功能

GPD0CON |= 1<<0; 

 

void buzzer_on(void) 

// 设置GPD0DATbit[0:15],使GPJ0_0引脚输出高电平,蜂鸣器响

GPD0DAT |= 1<<0; 

 

void buzzer_off(void) 

GPD0DAT &= ~(1<<0); 

}

 

void main (void)

{

buzzer_init();

 

while(1)

{

buzzer_on();

delay(0x100000);

buzzer_off();

delay(0x100000);

}

}

函数buzzer_init()配置GPIO引脚,使GPD0_0用于输入功能;

函数buzzer_on()使引脚GPD0_0输出0,蜂鸣器响;

函数buzzer_off()使引脚GPD0_0输出1,蜂鸣器不响;

main.c中,首先会调用buzzer_init()来初始化蜂鸣器,然后通过一个while循环不断的控制蜂鸣器的运行和停止。

第三节 编译程序和烧写运行

sd卡插入PCUbuntu终端执行如下命令:

#cd 11.buzzer

#make

#sudo ./sd_fusing.sh /dev/sdb bl2.bin

第四节 实验现象

实验现象很简单,就是可以听到开发板欢快地滴滴声响起来了,控制蜂鸣器就是这么简单。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章