注册 登录
查看: 368|回复: 2

[电磁组] V5版的库FTM.c程序卡死问题

[复制链接]
发表于 2015-1-9 17:06:00 | 显示全部楼层 |阅读模式
void FTM_PWM_freq(FTMn ftmn,u32 freq)              //设置FTM的频率
{
    u32 clk_hz = (bus_clk_khz*1000)>>1;            //bus频率/2
    u32 mod;
    u8 sc_ps;


    ASSERT( freq <= (clk_hz>>1) );                //用断言检测 频率 是否正常 ,频率必须小于时钟二分之一

    /*       计算频率设置        */
    mod= (clk_hz>>16 )/freq ;
    for(sc_ps=0;(mod>>sc_ps)>=1;sc_ps++);         //求sc_ps的最小值
    mod=(clk_hz>>sc_ps)/freq;


    /******************** 配置时钟和分频 ********************/
    FTM_SC_REG(FTMx[ftmn])    = FTM_SC_CPWMS_MASK | FTM_SC_PS(sc_ps) | FTM_SC_CLKS(1);  //没有使能溢出中断
    FTM_CNTIN_REG(FTMx[ftmn]) = 0;                                                      // Channel (n) Value  。设置脉冲宽度:(CnV - CNTIN).
    FTM_MOD_REG(FTMx[ftmn])   = mod;                                                    //Modulo value模数, EPWM的周期为 :MOD - CNTIN + 0x0001
    FTM_CNTIN_REG(FTMx[ftmn]) =0;                                                       //Counter Initial Value 计数器初始化值
    FTM_CNT_REG(FTMx[ftmn])   =0;                                                       //计数器。只有低16位可用
}
程序总是卡死然后就流水灯。

回复

使用道具 举报

发表于 2015-1-9 18:47:15 | 显示全部楼层
频率过高吧
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-9 19:16:41 | 显示全部楼层

50的10K的
回复 支持 反对

使用道具 举报

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

本版积分规则

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