是的,每次启动调试后都得点“Start Trace”,我也是这么干的,确实挺麻烦。 这个简单,在编译选项里加个 -save-temps 就能生成 .s 文件了。 这个我也踩过坑,f_utime 需要在 ffconf.h 里启用 FF_FS_NORTC 和 FF_FS_READONLY 等配置,建议检查下。 感觉像是调试模式下系统时钟没跑起来,I2C总线时序乱了。试试在CubeMX里确认下debug模式下的时钟配置。 看起来 CubeMX 生成的 MAC 地址实际是从 ethernetif.c 里赋值的,改宏没用是因为代码里没用到。 线长15cm已经是极限了,确实需要注意阻抗,尤其是USB高速的话对差分阻抗要求挺严格的。 看起来不像是温度问题,你有没有实时查看TIM1的状态寄存器,看看是不是进了中断或者被强制关闭了? 是不是电流采样点跟实际导通时刻对不上,PWM死区时间确实可能让采样偏早或偏晚。 是不是SPI和I2S切换的时候有残留配置没清掉?GPIO可能还保留上一次的模式。 你那个振铃可能是走线太长或者阻抗不匹配造成的,加串联电阻是对的方向。
|