TI中文支持网
TI专业的中文技术问题搜集分享网站

关于instaspin中gMotorVars.Flag_Run_Identify设置问题

本人用的是28069m与drv8305的组合,工程运行的是lab5b,想实现的功能是:按键按下,gMotorVars.Flag_Run_Identify设置为1,但是目前实现的是:除非手动置1之后,再按键才会出现变化。

    if(HAL_readGpio(halHandle,gpioNumber1) == LOW)
    {
        usDelay(100000);
        if(HAL_readGpio(halHandle,gpioNumber1) == LOW)
       {
            gMotorVars.Flag_Run_Identify = true;
        }
        else
        {
            gMotorVars.Flag_Run_Identify = false;
        }
    }

先手动置1之后,按键按下为1,弹起为0,之后才能正常使用按键设置标志。所以想请问如何把手动置1去除掉,前提是不能在main.h中改变值(因为前面有关于标志值的程序运行)

Green Deng:你是用了一个GPIO作为摁键输入的吗?
没尝试过这种方式控制gMotorVars.Flag_Run_Identify,个人猜想是不是添加的位置不对。在没有手动置1之前程序没有运行到判断这个函数值的语句。可以单步运行一下看这个函数的变化情况

本人用的是28069m与drv8305的组合,工程运行的是lab5b,想实现的功能是:按键按下,gMotorVars.Flag_Run_Identify设置为1,但是目前实现的是:除非手动置1之后,再按键才会出现变化。

    if(HAL_readGpio(halHandle,gpioNumber1) == LOW)
    {
        usDelay(100000);
        if(HAL_readGpio(halHandle,gpioNumber1) == LOW)
       {
            gMotorVars.Flag_Run_Identify = true;
        }
        else
        {
            gMotorVars.Flag_Run_Identify = false;
        }
    }

先手动置1之后,按键按下为1,弹起为0,之后才能正常使用按键设置标志。所以想请问如何把手动置1去除掉,前提是不能在main.h中改变值(因为前面有关于标志值的程序运行)

user6024771:

回复 Green Deng:

Green Deng你是用了一个GPIO作为摁键输入的吗?

是的

Green Deng没尝试过这种方式控制gMotorVars.Flag_Run_Identify,个人猜想是不是添加的位置不对。

这个不太清楚,因为按键的功能除了使能运行标志位,还有速度值给定的功能,所以我把它放在if(EST_isMotorIdentified(obj->estHandle))这个语句的下面,我尝试换一下位置试试。

赞(0)
未经允许不得转载:TI中文支持网 » 关于instaspin中gMotorVars.Flag_Run_Identify设置问题
分享到: 更多 (0)