一、Keil工程文件致命错误新建文件不 Save As最核心坑Keil直接新建文件写代码、不另存为、直接加工程文件只在缓存磁盘没有真实文件。后果报 No such file or directory编译一直弹保存窗口工程有文件、文件夹找不到文件。正确流程新建文件 → Save As另存为到工程文件夹带.c/.h后缀→ 再添加进工程。⚠首次新建文件不能只CtrlS必须另存为。工程残留僵尸文件磁盘删了文件左侧工程树还挂着导致编译报错需要右键Remove File移除。头文件不同步清理删除mycontrol文件后main没删掉 #include “mycontrol.h”报找不到文件。规则删代码文件必须同步删掉对应头文件包含。头文件函数声明不全Trace.c有Trace_task函数Trace.h只写了Trace_Init声明、漏写task声明出现隐式声明警告。规则所有被外部调用的函数必须在.h写声明。二、代码低级语法错误代码多打多余符号末尾多]直接编译报错。复制代码变量写错右电机逻辑内误用Left_Speed变量逻辑错乱。三、GPIO初始化经典致命BUG错误顺序先执行GPIO_Init初始化再给结构体赋值。导致结构体参数是随机垃圾值引脚功能完全异常。正确顺序先给结构体全部赋值最后再调用GPIO_Init。四、PWMTB6612电机核心重大BUG一正一反根源正确对应关系死记TIM3_CH1 PA6 → TIM_SetCompare1 → 左电机PWMTIM3_CH2 PA7 → TIM_SetCompare2 → 右电机PWM今日错误左右电机PWM通道写反导致同速度参数电机一正一反、工作异常。TB6612电机逻辑AIN1/AIN2控制左电机BIN1/BIN2控制右电机1、0前进0、1后退1、1刹车速度范围-7199 ~ 7199不可超最大值硬性硬件要求TB6612的STBY引脚必须接3.3V否则电机无力、乱转、不工作。五、编译操作注意事项编译弹出「Save changes」窗口必须点是不保存修改的代码不会参与编译。六、电机调试正确思路不要直接跑全程循迹分步测试单独左电机、单独右电机测试转向电机反向原因只有两个①代码PWM通道写反 ②硬件电机线接反七、工程初始化顺序固定TIM3_PWM初始化 → 电机GPIO初始化 → 外设初始化 → 循环任务函数