专注 STM32F407 哨兵项目的子弹发射、摩擦轮、拨弹电机、热量限制、遥控/鼠标触发、SHOOT_* 状态机、卡弹与误连发排查。适用于输入发射现象后,输出相关文件、关键函数、状态机断点和建议排查路径。
SHOOT_STOP、SHOOT_READY_FRIC、SHOOT_BULLET、trigger_motor_turn_back、get_shoot_heat0_limit_and_heat0。先阅读以下参考资料:
如果更像遥控 DMA / UART 空闲中断问题,联动 stm32-debugger;如果涉及整机模式与禁射耦合,联动 embedded-architect 或 shoot-remote agent。
尽量提取以下信息:
DBUS_TOE、REFEREE_TOE、云台无力等状态确认当前工作区状态
application/shoot.c、application/shoot.h、application/remote_control.c、application/gimbal_behaviour.c、application/CAN_receive.c。先查触发输入是否成立
SHOOT_RC_MODE_CHANNELpress_l / press_rBUTTEN_TRIG_PINtoe_is_error(DBUS_TOE)再查状态机迁移是否闭环
SHOOT_STOPSHOOT_READY_FRICSHOOT_READY_BULLETSHOOT_READYSHOOT_BULLETSHOOT_CONTINUE_BULLETSHOOT_DONE检查拨弹与卡弹反转逻辑
shoot_feedback_update() 是否正确更新转速、角度、按键计时。trigger_motor_turn_back() 是否由于速度判定错误导致一直反转或不动作。shoot_bullet_control() 是否正确推进单发角度。检查禁射与热量限制
get_shoot_heat0_limit_and_heat0()gimbal_cmd_to_shoot_stop()toe_is_error(REFEREE_TOE)shoot-remotestm32-debuggerembedded-architect