打印
[STM32F1]

stm32f103VCT6的spi1的两处接口可以混用吗

[复制链接]
694|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jcky001|  楼主 | 2024-7-9 10:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在设计硬件时spi连岔了线,为了尽可能少改动已有的线,我发现spi1在stm32f103vct6上有两处。我想用PB5作为MOSI,用PA5PA6作为SCK和MISO,但是在cubemx设置发现不能同时设置,如果不用cubemx而是靠标准库写的话能做到我上面所述的操作吗?

使用特权

评论回复
沙发
cr315| | 2024-7-9 11:13 | 只看该作者
STM32F103VCT6的SPI1接口本身不存在“两处接口混用”的问题。但是,你可以通过控制NSS/CS信号来在SPI1接口上同时与多个从设备进行通信,只要确保在任何给定时间只有一个从设备被选中进行通信即可。

使用特权

评论回复
板凳
菜鸟的第一步| | 2024-7-10 13:34 | 只看该作者
可以的,我搞过这个操作

使用特权

评论回复
地板
两只袜子| | 2024-7-10 16:15 | 只看该作者
SPI1接口的物理引脚和逻辑功能不能混用,但可以在项目中同时使用多个SPI外设来连接不同的从设备。

使用特权

评论回复
5
hehhehee| | 2024-7-26 14:45 | 只看该作者
在STM32F103VCT6上,通过标准库手动配置SPI引脚可以实现灵活的引脚选择,尽管CubeMX可能不允许这样的配置。

使用特权

评论回复
6
公羊子丹| | 2025-2-9 09:11 | 只看该作者
这个方案确实有点特别,我记得SPI引脚通常是一组固定的,你混用两个不同端口可能会有信号不一致的问题。

使用特权

评论回复
7
周半梅| | 2025-2-9 09:12 | 只看该作者
在标准库中直接配置GPIO寄存器理论上是可以实现的,但你需要手动管理GPIO模式和复用功能。

使用特权

评论回复
8
帛灿灿| | 2025-2-9 09:13 | 只看该作者
STM32F103的SPI1引脚有固定的复用规则,可能需要用GPIO模拟SPI(Bit-banging)才行。

使用特权

评论回复
9
童雨竹| | 2025-2-9 09:14 | 只看该作者
有没有考虑过直接调整PCB线路,虽然麻烦但从信号完整性来看可能更稳妥?

使用特权

评论回复
10
万图| | 2025-2-9 09:15 | 只看该作者
Cubemx之所以不支持这样配置,可能就是为了避免潜在的硬件冲突。

使用特权

评论回复
11
Wordsworth| | 2025-2-9 09:16 | 只看该作者
你可以试试看强行配置PA5和PB5为输出,并分别初始化为SCK和MOSI,但可能不推荐这么做。

使用特权

评论回复
12
Bblythe| | 2025-2-9 09:18 | 只看该作者
实在不行的话也可以考虑用软件SPI代替硬件SPI,虽然性能会差一些。

使用特权

评论回复
13
Pulitzer| | 2025-2-9 09:19 | 只看该作者
我觉得使用不同端口的引脚风险还是比较大的,可能会影响SPI通信的稳定性。

使用特权

评论回复
14
Uriah| | 2025-2-9 09:20 | 只看该作者
有没有尝试用STM32F103的其他SPI外设,比如SPI2来重新设计?

使用特权

评论回复
15
Clyde011| | 2025-2-9 09:21 | 只看该作者
直接用标准库写代码虽然灵活,但管理复用配置可能要花不少时间,你觉得值得尝试吗?

使用特权

评论回复
16
中国龙芯CDX| | 2025-2-9 14:22 | 只看该作者
一个是SPI1一个是SPI2肯定是不能混用的

使用特权

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

本版积分规则

1562

主题

5032

帖子

6

粉丝