嵌入式系统设计报告内容摘要:

enable; Inverter off TCNTB0amp。 TCMPB0 定 时器计数缓冲区寄存器和比较缓冲区寄存器 TCNTB0 决定了脉冲的频率, TCMPB0 决定了正脉冲的宽度。 当 TCMPB0= TCNTB0/2 时,正负脉 冲宽度相同;当 TCMPB0 由 0 变到 TCNTB0 时,负脉冲宽度不断增加。 参考:脉冲频率为 1Hz。 TCNTO0 定时器观察寄存器 三 、程序分析 Linux 下的直流电机程序包括模块驱动程序和应用程序两部分。 Module 驱动程序实现了以 下方法: static struct file_operations s3c2410_dcm_fops = { owner: THIS_MODULE, open: s3c2410_dcm_open, ioctl: s3c2410_dcm_ioctl, release: s3c2410_dcm_release, }。 开启设备时,配置 IO 口为定时器工作方式 : ({ GPBCON amp。 =~ 0xf。 GPBCON |= 0xa。 }) 配置定时器的各控制寄存器: ({ TCFG0 amp。 = ~(0x00ff0000)。 \ TCFG0 |= (DCM_TCFG0)。 \ TCFG1 amp。 = ~(0xf)。 \ TCNTB0 = DCM_TCNTB0。 /* less than 10ms */ \ TCMPB0 = DCM_TCNTB0/2。 \ TCON amp。 =~(0xf)。 \ TCON |= (0x2)。 \ TCON amp。 =~(0xf)。 \ TCON |= (0x19)。 }) 在 s3c2410_dcm_ioctl 中提供调速功能接口: case DCM_IOCTRL_SETPWM: return dcm_setpwm((int)arg)。 应用程序 中调用: ioctl(dcm_fd, DCM_IOCTRL_SETPWM, (setpwm * factor))。 实现直流电机速度的调整。 具体程序代码 如下: include include include in。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。