如图1 cubemx配置,定时器1初始化后(没有启动输出PWM),SPI2发送数据SCK脚无输出,MOSI输出正常,将PWM模式改为2或者将Pulse改为非0值或者启动输出PWM后,SPI2 SCK就恢复输出信号。这个问题我特意找了几块不同的板,单片机型号分别是F103R8T6、RCT6、ZET6,均出现相同情况,所有代码(除了SPI2发送数据函数)均由STM32CUBEMX配置生成,版本都是最新版本,库是HAL库。这些问题已经向ST官方邮箱提过这个问题,但对方似乎一直在掩盖这些问题,一直说我这边硬件或者软件有误会,其实在2018年8月30日我也发了相似问题的邮件给ST,但最终未得到结果,那个问题是SPI3与定时器2输出冲突,开了SPI3定时器2就没有输出。在此想请大家有F103的帮帮忙证实下前面说的问题。
图1是引脚复用配置,图2是SPI2配置,图3是定时器1配置,除了定时器1的输出极性为Low外,其他均为默认,中断、DMA均默认关闭不使用,图4是SPI发送函数。 |