智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 941|回复: 1
打印 上一主题 下一主题

FTM初始化后,不能改变占空比了····

[复制链接]

3

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
284
威望
142
贡献
78
兑换币
88
注册时间
2014-2-23
在线时间
32 小时
跳转到指定楼层
1#
发表于 2014-5-16 00:50:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void PWM_Init( void )
        {
                SIM_SCGC5=SIM_SCGC5_PORTA_MASK;
                PORTA_PCR4&=~(PORT_PCR_MUX_MASK);
                PORTA_PCR4|= PORT_PCR_MUX(3);
                GPIOA_PDDR|=(1<<4);
                SIM_SCGC6|= SIM_SCGC6_FTM0_MASK;
                FTM0_MODE=7;
                FTM0_CNTIN=0x0;
                FTM0_CNT=0x0;
                FTM0_MOD=0Xbb7;//2999
                FTM0_C1SC=0X28;
                FTM0_C1V=500;//
                FTM0_SYNC=0x84;
                FTM0_OUTINIT=0X02;
                FTM0_COMBINE|=(1<<5);
                FTM0_SC=0X08;
        }
                void PWM_sync_set(unsigned int mod,unsigned int value)
                {
                        int reg,M;
                        FTM0_MODE=7;
                        FTM0_SYNC|=0<<7;
                        FTM0_SYNC|=1<<7;
                        FTM0_CNTIN=0;
                        FTM0_CNT=0;
                        FTM0_MOD=0;
                        FTM0_C1V=0;
                        FTM0_MOD=mod;
                        FTM0_C1V=value;
                        reg=FTM0_SYNC;
                        while((reg&0x80)==0x80){
                                FTM0_SYNC&=(~(1<<7));
                                reg=FTM0_SYNC;
                        }
                        PORTA_PCR15|=0X0;
                                                PORTA_PCR15|=(1<<8);
                                                GPIOA_PDDR|=(1<<15);
                                                GPIOA_PDOR=(1<<15);
                }
int i;
void main(){
        SIM_SCGC5 |=SIM_SCGC5_PORTA_MASK;
        PORTA_PCR15|=0X0;
        PORTA_PCR15|=(1<<8);
        GPIOA_PDDR|=(1<<15);
        GPIOA_PDOR|=(0<<15);
        PWM_Init();
        for(i=0;i<10000000;i++){};
   PWM_sync_set(2999,1500);
   for(i=0;i<10000000;i++){}
}我设置了几个断点查看变量值,发现FTM0_MOD,FTM0_C1V的值是我初始化时的值,不随 PWM_sync_set(2999,1500)设置的值而改变·

回复

使用道具 举报

3

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
284
威望
142
贡献
78
兑换币
88
注册时间
2014-2-23
在线时间
32 小时
2#
 楼主| 发表于 2014-5-16 10:16:05 | 只看该作者
还没人吗?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-22 11:30 , Processed in 0.071981 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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