聊城专业网站建设制作,网站设计与制作成品作品,桓台网站制作,制作短视频的软件app一. 简介
上一篇文章实现了蜂鸣器驱动代码#xff0c;实现关闭蜂鸣器与打开功能。文章地址如下#xff1a;
蜂鸣器驱动代码完善-CSDN博客
本文对所实现的蜂鸣器驱动代码进行测试。 二. 蜂鸣器驱动代码测试
1. 准备应用程序
这里应用程序还使用 前面实现所使用的Led应用…一. 简介
上一篇文章实现了蜂鸣器驱动代码实现关闭蜂鸣器与打开功能。文章地址如下
蜂鸣器驱动代码完善-CSDN博客
本文对所实现的蜂鸣器驱动代码进行测试。 二. 蜂鸣器驱动代码测试
1. 准备应用程序
这里应用程序还使用 前面实现所使用的Led应用程序 led_app调用蜂鸣器驱动程序最终驱动蜂鸣器的开与关。
应用程序代码 led_app.c代码实现如下
#include stdio.h
#include sys/types.h
#include sys/stat.h
#include fcntl.h
#include stdlib.h
#include string.h/*
* 打开/关闭 Led灯
* 参数
* ./app_name /dev/beep 0 //关闭 beep
* ./app_name /dev/beep 1 //打开 beep
*/
int main(int argc, char* argv[])
{int fd 0,count 0;char * device_name NULL;unsigned int led_value[1] {0};if(argc ! 3){printf(mains param number error!\n);return -1;}device_name argv[1];fd open(device_name, O_RDWR);if(fd 0){printf(open led device failed!\n);return -1;}led_value[0] atoi(argv[2]); //将字符转为数字count write(fd, led_value, sizeof(led_value));if(count 0){printf(write data failed!\n);close(fd);}close(fd);return 0;
} (1) 首先编译应用程序 led_app.c
编译 led_app.c的命令如下
arm-linux-gnueabihf-gcc led_app.c -o led_app(2) 其次拷贝 应用程序led_app 到开发板上
将 编译生成的应用程序拷贝到开发板上进入 led_app.c所在目录输入如下命令进行拷贝
sudo cp led_app /home/wangtian/linux/nfs_File/rootfs/lib//modules/4.1.15/ -f2. 驱动测试
(1) 首先将驱动程序拷贝到开发板上
注意开发板的系统是通过 nfs服务挂载方式访问 ubuntu系统的。即 系统文件存放在 ubuntu系统所设置的 nfs目录下而开发板通过 nfs服务加载系统文件
将 7_beep工程下编译生成的驱动文件 beep.ko拷贝到 开发板系统 /lib/modules/4.1.15/目录下这里系统存放在 /home/wangtian/linux/nfs_File/ 目录下命名是 rootfs
wangtianwangtian-virtual-machine:~/zhengdian_Linux/Linux_Drivers/7_beep$ sudo cp beep.ko /home/wangtian/linux/nfs_File/rootfs/lib/modules/4.1.15/ -f
[sudo] wangtian 的密码
wangtianwangtian-virtual-machine:~/zhengdian_Linux/Linux_Drivers/7_beep$ (2) 其次加载驱动模块
注意这里第一次运行 modprobe beep.ko 命令加载驱动之前需要先运行 depmod 命令。因为 beep.ko驱动模块是第一次被加载。
开发板上电后进入系统 /lib/modules/4.1.15目录下查看是否存在驱动程序 beep.ko 运行 modprobe beep.ko 命令加载驱动模块 (3) 最后测试驱动程序
运行应用程序测试驱动程序。打开 蜂鸣器
/lib/modules/4.1.15 # ./led_app /dev/beep 1这时可以确定蜂鸣器是否响正常情况下这时蜂鸣器会响。 关闭蜂鸣器
/lib/modules/4.1.15 # ./led_app /dev/beep 0
这时可以确认蜂鸣器是否关闭正常情况下蜂鸣器的响声会被关。 卸载驱动模块具体卸载驱动命令如下 注意一般在测试完驱动模块后可以卸载掉驱动模块