STM32
直播中

张宇

7年用户 1669经验值
私信 关注
[问答]

STLink仿真显示comm timeout的原因?

STM8903 三相电机驱动程序。

更准确的说是一旦PB端口PB7为1时读操作就会引发Error。
PB端口5,6,7接Hall Sensor,电平为5V/0V电平无异常。当把电机转到100,101,110三个位置时,就会显示一时错误,无法进行仿真
其他状态目前没有发现问题,如果屏蔽这段程序则仿真正常。
void Hall_GetStep(void)
{
    u8 hallCode;
   
    hallCode = GPIO_ReadInputData(HALL_PORT);
    hallCode = (hallCode   0xE0)>>5;
   
    MotorControler.Hall_Code = hallCode;
   
    switch (MotorControler.Hall_Code)
    {
        case 0x01:    MotorControler.Hall_Step = 0;     break;
        case 0x03:    MotorControler.Hall_Step = 5;     break;
        case 0x02:    MotorControler.Hall_Step = 4;     break;
        case 0x06:    MotorControler.Hall_Step = 3;     break;
        case 0x04:    MotorControler.Hall_Step = 2;     break;
        case 0x05:    MotorControler.Hall_Step = 1;     break;        
        default:    MotorControler.Hall_Step = HALL_CODE_ERROR; break;
    }
}           
已经更换过一次MCU问题还在,请教有没有大虾遇到过这个问题,或者有解决思路,帮忙指点一下。   
拜谢。



回帖(1)

h1654155275.5998

2024-5-9 14:31:07
这个是有优先级的
举报

更多回帖

发帖
×
20
完善资料,
赚取积分