编写pwm 全市获奖_第1页
编写pwm 全市获奖_第2页
编写pwm 全市获奖_第3页
编写pwm 全市获奖_第4页
编写pwm 全市获奖_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式技术应用编写pwm_test测试程序模块三:嵌入式网关之驱动程序编写学习目标一、测试程序pwm_test源码分析二、测试程序和驱动程序pwm的Makefile三、测试程序和驱动程序pwm的使用本次课将为pwm_driver驱动程序编写一个测试程序,用来关闭蜂鸣器或改变其占空比(周期固定为1S)。一、测试程序pwm_test源码分析

见pwm_test.c,可以使用gedit打开。pwm_test测试程序的核心语句如下所示。......printf("请输入高电平时间来改变占空比!\n""(0表示停止,输入的数值要求<计数寄存器TCNTB0的值25000.)\n");

for(i=0;;i++){scanf("%d",&temp);//将从键盘上输入的数值保存在temp中

printf("times=%d\n",temp);if(temp==0){//关闭蜂鸣器ioctl(fd,0,NULL);printf("Beepstop!\n");break;}else{//改变占空比

ioctl(fd,1,temp);printf("Duty=%d%%\n",(temp*100/25000));}}

close(fd);//关闭设备文件

return0;}从上面的程序中可以看出,当输入0时,蜂鸣器不响,当输入其他数值时,占空比为(temp/25000)×100%。在驱动程序led_driver中PWM的计数脉冲为25kHz,一个PWM周期对该脉冲的计数个数为25000,所以一个PWM周期为1S。二、测试程序和驱动程序pwm的Makefile

见Makefile,可以使用gedit打开。三、测试程序和驱动程序pwm的使用3.1编译驱动和测试程序#make3.2下载驱动和测试程序使用SecureCRT或Minicom下载,详见前面课程中下载驱动的内容。3.3加载驱动和添加设备节点用insmod命令加载驱动时显示:其中252是系统为pwm_driver驱动分配的主设备号。再使用mknod命令为pwm_driver驱动添加设备节点,其中252和0分别为pwm_driver设备节点的主设备号和次设备号。/dev/led_driver252#mknod/dev/led_driverc2520这时输入ls/dev命令便可看到pwm_driver设备节点。3.4运行测试程序在开发板终端中输入运行测试程序的命令。

如果输入2500,PWM输出的占空比为(2500/25000)×100%=10%,可以听到蜂鸣器响;如果

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论