利用tftp把host和target连接.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Emblinux DC-MOTOR 利用tftp把host和target連接 Run kernel Run rootfs 拷貝driver到linux中 用make得到ko檔(驅動) 在用/usr/local/arm/3.4.1/bin/arm-linux-gcc –o xx_test xx_test.c可得xx_test(測試檔) Dc motor 如同pwm一樣用duty cycle控制轉速 程式如下(在附件) dc_motor.c dc_motor_test.c PWM and timer in Samsung S3C2410X TCNTB: Time counter buffer register for clock period TCMPB: Time compare buffer register for PWM pulse width TOUT1 Dead Zone Control Logic 0 Dead zones generator TCMPB0 TCNTB0 TOUT0 Dead Zone 1/16 1/32 1/64 1/128 TCLK0 8-bit prescaler PCLK TCMPB1 TCNTB1 1/16 1/32 1/64 1/128 TCLK0 8-bit prescaler TOUT2 Control Logic 4 TCNTB4 No pin TOUT3 PWM 1 PWM 0 PWM 2 PWM 3 TCMPB2 TCNTB2 TCMPB3 TCNTB3 HL Chan, EE, CGU Interfacing * Pulse-width modulation (PWM) DC motor control: Rotation speed proportional to input voltage level DC-to-DC converter Digital-to-analog converter PWM (use average voltage) Use pulse width as control command to output device Pulse width Duty cycle 50% 75% 25% 5V μP PWM Average value 2.5 3.75 1.25 DC motor connection GPIO registers set_pwm3函數:完成對直流馬達的脈波比調節。參數hiratio為占空百分比(0~100) static void set_pwm3(unsigned char hiratio) { unsigned long tcnt; printk(hiratio = %d,hiratio); tcnt =()/( FREQ_PWM1 *16 ); __raw_writel(((tcnt*(hiratio))/100), S3C2410_TCMPB(3)); } dcm_ioctl函數:透過呼叫set_pwm3函數,傳送不同的脈波比參數,對直流馬達的速度進行10級調節 static int dcm_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) { switch(cmd) { case DC_IOCTL_START: set_pwm3(DUTY); break; case DC_IOCTL_STOP: set_pwm3(0); printk(off\n); break; case DC_IOCTL_SPEED_UP: DUTY +=STEP; if (DUTYMAX_VAL) DUTY=MAX_VAL; set_pwm3(DUTY); break; case DC_IOCTL_SPEED_DOWN: DUTY -=STEP; if (DUTY0) DUTY=0; set_pwm3(DUTY); printk(PWM_IOCTL_SPEED_DOWN\n); break; default : break; } return 0; } 對dcm_ioctl的參數初始化 #define MAX_VAL 90 static int DUTY = 50; static int STEP=10; 作業 不要透過uart而改變馬達轉速(DU

您可能关注的文档

文档评论(0)

676200 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档