智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1612|回复: 2
打印 上一主题 下一主题

[软件类] pwm计算??

[复制链接]

10

主题

82

帖子

0

精华

高级会员

Rank: 4

积分
708
威望
431
贡献
219
兑换币
6
注册时间
2011-11-26
在线时间
29 小时
跳转到指定楼层
#
发表于 2012-3-1 17:34:48 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
1贡献
产生40M BUS  38K HZ的PWM  这么写对不??
void SetBusCLK_40M(void)
{   
    CLKSEL=0X00;    //disengage PLL to system
    PLLCTL_PLLON=1;       //turn on PLL
    SYNR =0xc0 | 0x04;                        
    REFDV=0x80 | 0x01;
    POSTDIV=0x00;               //pllclock=2*osc*(1+SYNR)/(1+REFDV)=80MHz;
    _asm(nop);                  //BUS CLOCK=40M
    _asm(nop);
    while(!(CRGFLG_LOCK==1)); //when pll is steady ,then use it;
    CLKSEL_PLLSEL =1;      //engage PLL to system;
}

//-----PWM 初始化程序------//
void PWM_Init(void)  
{
  PWME_PWME6=0x00;  // Disable  PWM            禁止              
  PWMPRCLK=0x10;     
  PWMSCLB=2;       //     时钟设置                     
  PWMCLK_PCLK6=1;   // PWM3-----SB             时钟源的选择

  PWMPOL_PPOL6=1;   // Duty=High Time          极性设置
  PWMCAE_CAE6=0;    // Left-aligned            对齐方式设置
  
  PWMPER6=131;      //   周期寄存器设置
  PWMDTY6=30;               // Duty cycle = 50%        占空比寄存器设置
  PWME_PWME6=1;     // Enable  PWM             使能
}

计算有无错误呢???为什么示波器上显示400K 的频率呢??
求高手!!!

10

主题

82

帖子

0

精华

高级会员

Rank: 4

积分
708
威望
431
贡献
219
兑换币
6
注册时间
2011-11-26
在线时间
29 小时
2#
 楼主| 发表于 2012-3-4 12:52:59 | 只看该作者
求大侠!!!
回复

使用道具 举报

10

主题

82

帖子

0

精华

高级会员

Rank: 4

积分
708
威望
431
贡献
219
兑换币
6
注册时间
2011-11-26
在线时间
29 小时
1#
 楼主| 发表于 2012-3-1 17:35:55 | 只看该作者
注释有些没来得及改,不要看注释。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-21 05:38 , Processed in 0.047975 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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