打印

M0516LAN的pwm1怎么都出不来,

[复制链接]
1404|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lufeijian|  楼主 | 2012-2-11 17:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
从相应的PDR看已经在计数了,就是没有输出脉冲!不知道是不是新的手册又有问题了?主函数就是一个死等!
void SystemInit (void)
{
UNLOCKREG(x);
SYSCLK->PWRCON.XTL12M_EN = 1;
while(!SYSCLK->CLKSTATUS.XTL12M_STB);

//SYSCLK->PLLCON.OUT_DV = 3;//输出“11”=>4分频
//SYSCLK->PLLCON.IN_DV = 1;//输入分频为1+2=3分频
//SYSCLK->PLLCON.FB_DV = 46;//反馈分频为46+2=48分频
SYSCLK->PLLCON.PD = 0;//设置为“0”表示PLL退出掉电模式
SYSCLK->PLLCON.OE = 0;//设置为“0”表示PLL输出使能
while(!SYSCLK->CLKSTATUS.PLL_STB);
SYSCLK->PLLCON.PLL_SRC = 1;//选择外部12M时钟信号作为PLL输入信号
SYSCLK->CLKSEL0.HCLK_S = 0x02; //选择PLL为外CPU时钟
LOCKREG(x);
SystemCoreClockUpdate();

SYSCLK->APBCLK.PWM01_EN = 1;//使能PWM01外设时钟信号
SYSCLK->CLKSEL1.PWM01_S = 2;//PWM01时钟源选择HCLK

//选择PWM01的时钟源。
PWMA->CSR.CSR1 = 0x04;//固定分频,选择1分频
PWMA->PPR.CP01 = 0x01;//预分频器,选择1分频
PWMA->PPR.DZI01 = 1;//设定死区长度
PWMA->PCR.DZEN01 = 0;//禁止产生死区
PWMA->PCR.CH1INV = 0;//反向关闭
PWMA->PCR.CH1MOD = 1;//使用自动重载模式
PWMA->CMR1 = 400; //占空比值设置
PWMA->CNR1 = 200; //计数值,与CSR、PPR共同决定频率
//P4.1引脚选择PWM1功能
SYS->P4_MFP.ALT1_PWM1 = 1;
SYS->P4_MFP.MFP1_PWM1 = 0;
PWMA->POE.PWM1 = 1;//使能PWM输出
PWMA->PCR.CH1EN  = 1;//定时器开始运行
}

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

178

帖子

0

粉丝