智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2061|回复: 3
打印 上一主题 下一主题

舵机求解

[复制链接]

7

主题

81

帖子

0

精华

高级会员

Rank: 4

积分
509
威望
314
贡献
107
兑换币
0
注册时间
2010-11-24
在线时间
44 小时
跳转到指定楼层
1#
发表于 2011-3-16 09:23:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
void sysclock_init(void) {
  CLKSEL=0x00;
  PLLCTL_PLLON=1;
  SYNR=3;         
  REFDV=1;//pllclk 32M bus 16M
  POSTDIV=0x00;
  while(CRGFLG_LOCK!=1);//Wait Till VCO Run Stable
  CLKSEL_PLLSEL=0x01;
}
void PWM_INIT(void)
{
    PWMCTL_CON01=1;    //0和1联合成16位PWM;
    PWMCAE_CAE1=0;   //选择输出模式为左对齐输出模式
    PWMCNT01 = 0;    //计数器清零;
    PWMPOL_PPOL1=1;   //先输出高电平,计数到DTY时,反转电平
    PWMPRCLK = 0X00;    //clockA不分频,clockA=busclock=16MHz;CLK B 16分频:1Mhz   
    PWMSCLA = 16;        //对clock SA 进行2*16=32分频;pwm clock=clockA/32=1MHz;     
    PWMCLK_PCLK1 = 1;   //选择clock SA做时钟源
    PWMPER01 =  20000;   //周期20ms; 50Hz;(可以使用的范围:50-200hz)
    PWMDTY01 =  1500;  
    PWME_PWME1=1;   //高电平时间为1.5ms;  
}
void main(void) {
char i=1;
sysclock_init();
PWM_INIT();
}
这程序执行的结果是舵机一直朝一个方向转,不会初始化。但是在示波器上看到的波形是高电平只有1.5ms,不知道为什么?

6

主题

66

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2113
QQ
威望
309
贡献
1654
兑换币
0
注册时间
2010-8-14
在线时间
75 小时
2#
发表于 2011-3-16 13:46:15 | 只看该作者
用5V电源供电试试
回复 支持 反对

使用道具 举报

7

主题

81

帖子

0

精华

高级会员

Rank: 4

积分
509
威望
314
贡献
107
兑换币
0
注册时间
2010-11-24
在线时间
44 小时
3#
 楼主| 发表于 2011-3-16 16:14:24 | 只看该作者
回复 2# 野狼明明


    我用的是5v稳压电源,还没接到小车上
回复 支持 反对

使用道具 举报

32

主题

289

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5311

论坛元老奖章

威望
603
贡献
4572
兑换币
10
注册时间
2011-3-10
在线时间
68 小时
4#
发表于 2011-3-16 20:49:23 | 只看该作者
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-20 15:42 , Processed in 0.042224 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表