注册 登录
查看: 350|回复: 3

[K60] 程序在运行过程中断言失败,卡死……

[复制链接]
发表于 2014-4-18 22:35:33 | 显示全部楼层 |阅读模式
请问:我们的程序在调试过程中会出现断言失败电机突然没有速度,程序直接卡死的现象是怎么回事?
void FTM_PWM_Duty(FTMn_e ftmn, FTM_CHn_e ch, uint32 duty)
{
    uint32 cv;
    uint32 mod = 0;

    ASSERT( (ftmn == FTM0) || ( (ftmn == FTM1 || ftmn == FTM2 ) && (ch <= FTM_CH1)) ); //检查传递进来的通道是否正确

    switch(ftmn)
    {
    case FTM0:
        ASSERT(duty <= FTM0_PRECISON);     //用断言检测 占空比是否合理
        break;
就是
case FTM0:
        ASSERT(duty <= FTM0_PRECISON);     //用断言检测 占空比是否合理
        break;
断言失败。
回复

使用道具 举报

发表于 2014-4-18 23:24:39 | 显示全部楼层
断言,就是异常情况需要你来调试。明显是占空比超过100%,然后报错,让你来查找bug
回复 支持 反对

使用道具 举报

发表于 2014-4-18 23:25:11 | 显示全部楼层
建议看看山外哥的IAR调试视频吧,不会调试,很浪费时间的。
回复 支持 反对

使用道具 举报

发表于 2014-4-19 08:48:43 | 显示全部楼层
对传递进来的数值进行限幅就好了
回复 支持 反对

使用道具 举报

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

本版积分规则

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