Linux高级应用(十)控制蜂鸣器的应用程序

实验步骤:1、设计一个简易蜂鸣器驱动beep_drv.c2、编译驱动Makefile生成ko文件3、查看驱动的信息#modinfo beep_drv.ko在ubuntu上4、下载ko到试验箱5、安装ko—蜂鸣器响#insmod beep_drv.ko#lsmod如果ko安装有错,说申请不到GPIO解决:Device Drivers —>Character devices —><> LED Support for FriendlyARM Mini2
摘要由CSDN通过智能技术生成

实验步骤:
1、设计一个简易蜂鸣器驱动
beep_drv.c

2、编译驱动
Makefile
生成ko文件

3、查看驱动的信息
#modinfo beep_drv.ko
在ubuntu上

4、下载ko到试验箱

5、安装ko—蜂鸣器响
#insmod beep_drv.ko
#lsmod

如果ko安装有错,说申请不到GPIO
解决:
Device Drivers —>
Character devices —>
<> LED Support for FriendlyARM Mini210 GPIO LEDs
<
> Buzzer driver for FriendlyARM Mini210 development boards
输入“N”
改成:
Device Drivers —>
Character devices —>
< > LED Support for FriendlyARM Mini210 GPIO LEDs
< > Buzzer driver for FriendlyARM Mini210 development boards
重新编译内核—>烧写内核

6、卸载驱动—蜂鸣器
#rmmod beep_drv
#lsmod

=================================================================================
二、前面还没有验收的实验,完成。

三、分析LED灯驱动
gec210_led.c

四、在project添加蜂鸣器的应用程序(驱动程序待定)
beep.h

#define BEEP_ON 1
#define BEEP_OFF 0

beep.c
int beep_ctrl(char beep_state)
{
参考:编写一个控制蜂鸣器的应用程序

}

一、编写一个控制蜂鸣器的应用程序

int main(void)
{
int fd_beep;
//1.打开蜂鸣器
fd_beep = open("/dev/beep_drv", O_RDWR);
if(fd_beep == -1)
{
perror(“open beep”);
return -1;
}

//2.向蜂鸣器写入控制命令
char beep_flag = 1;//1--on,0--off
write(fd_beep, &beep_flag, 1); //要设计一个驱动程序,与应用程序匹配

//3.关闭蜂鸣器
close(beep_fd);

return 0;

}

=

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值