您的位置:首页 > 运维架构 > Linux

Linux3.5下的PWM蜂鸣器驱动测试 (2)

2014-08-01 18:46 204 查看
在前面一章的测试程序的基础上,修改了另外一个pwm蜂鸣器驱动测试程序,这个相对更简单。不多说,直接上程序。

参考:http://wenku.baidu.com/link?url=5KOYBTboPYqI1r_100QifRT1J_C7ETTVVnKdHfdWTHseL9cQMVERyLzu8jrOyJ4MvQe5pVzd8c4eV4eqzFy2K1nCpuy7TkluG-ESukAMvGG

1.编写PWM蜂鸣器驱动的测试程序。文件名:pwm_test.c.

<preclass="html"name="code">#include<stdio.h>//必要的头文件--输入输出函数定义
#include<stdlib.h>//标准函数库定义
#include<unistd.h>//Unix标准函数定义
#include<sys/ioctl.h>
#include<sys/stat.h>
#include<fcntl.h>//定义了很多宏和open,fcntl函数原型

intmain(intargc,char**argv)
{
intfd;
unsignedlongtemp=0;
inti;
fd=open("/dev/pwm",O_RDWR);//打开蜂鸣器的设备文件
if(fd<0)//打开失败
{
perror("opendevicepwm");
exit(1);//打开错误,则终止进程。退出参数为1
}
printf("opendevicesucess\n");
for(i=0;i<2000;i++)//响应输入的蜂鸣器频率
{
scanf("%d",&temp);
printf("temp=%d\n",temp);
ioctl(fd,1,temp);
if(temp==0)		//当输入为0是时退出
break;
}
ioctl(fd,0);//停止蜂鸣器
close(fd);//关闭设备驱动程序文件
return0;
}


2.在linux上交叉编译测试应用程序。

#arm-linux-gcc-opwm_testpwm_test.c-static

3.将生成的pwm_test复制到EM4412开发板的system目录下,然后进入开发板的system目录,给pwm_test权限。

#chmod777pwm_test

4.运行pwm_test。

#./pwm_test

这时候你可以输入从1到2000的任意值,蜂鸣器就响了,输入0就关闭。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: