打印
[STM32F1]

STM32F103定时器1与SPI2复用冲突问题

[复制链接]
1352|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sdggg|  楼主 | 2020-4-9 10:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
如图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发送函数。

图1 引脚复用.png (51.5 KB )

图1 引脚复用.png

图2 SPI2.png (43.29 KB )

图2 SPI2.png

图3 定时器1.png (54.6 KB )

图3 定时器1.png

图4 代码.png (351.17 KB )

图4 代码.png

使用特权

评论回复
沙发
香水城| | 2020-4-9 21:50 | 只看该作者
这种问题有什么好掩饰的呢?

这个32f103的芯片又不是哪一个人用,若TIM1/CH1和SPI2的使用上真要有冲突怎么能掩饰得了?

比方就按你上面的配置,若手头有板,分分钟谁都可以验证。

我刚才按照你提到的配置,spi2功能很正常。




使用特权

评论回复
板凳
axbin| | 2020-4-12 18:09 | 只看该作者
本帖最后由 axbin 于 2020-4-12 18:12 编辑

STM32F1有很多硬件BUG,尤其是引脚复用的时候。我网上搜到,有人乱开时钟结果有的BUG就消失了,你可以试试:
RCC_APB1PeriphClockCmd(0xFFFFFFFFUL,ENABLE);
RCC_APB2PeriphClockCmd(0xFFFFFFFFUL,ENABLE);

使用特权

评论回复
地板
sunlisten| | 2022-11-30 10:50 | 只看该作者
我也遇到了,TIM1开了pwm channel1,PA8引脚;SPI2用了PA13、PA14、PA15。
调用HAL_TIM_PWM_Start(htim1, TIM_CHANNEL_1),再调用HAL_TIM_PWM_Stop(htim1, TIM_CHANNEL_1);后,SPI2读到的数据全是0.

使用特权

评论回复
5
bestwell| | 2022-12-6 13:51 | 只看该作者
不同同时开启的话,还存在这个问题吗?

使用特权

评论回复
6
Bowclad| | 2022-12-6 18:34 | 只看该作者
试试乱开一些时钟行不行

使用特权

评论回复
7
Undshing| | 2022-12-6 19:14 | 只看该作者
开些其他的时钟可能会解决

使用特权

评论回复
8
AloneKaven| | 2022-12-6 20:31 | 只看该作者
这应该是硬件设计的缺陷

使用特权

评论回复
9
jf101| | 2022-12-7 15:45 | 只看该作者
个人感觉应该是硬件电路的问题,因为我也遇到过类似的问题,当时时串口数据偶发不正确,后来发现变压模块用错了,改了就好了

使用特权

评论回复
10
Stahan| | 2022-12-8 19:50 | 只看该作者
这个应该是芯片设计的问题

使用特权

评论回复
11
jimmhu| | 2022-12-10 11:26 | 只看该作者
之前碰上串口2和定时器2共存不大行。

使用特权

评论回复
12
Henryko| | 2022-12-10 15:41 | 只看该作者
我就觉得是芯片在设计时候的问题

使用特权

评论回复
13
robincotton| | 2022-12-10 18:07 | 只看该作者
是不是共享那部分的功能了?              

使用特权

评论回复
14
updownq| | 2022-12-10 21:33 | 只看该作者
这个问题还没遇到过。              

使用特权

评论回复
15
jtracy3| | 2022-12-11 12:24 | 只看该作者
感觉就是是stm32cubemx生成代码以后有问题。

使用特权

评论回复
16
SantaBunny| | 2022-12-11 18:39 | 只看该作者
有可能是硬件电路的问题

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

155

帖子

1

粉丝