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

[复制链接]
 楼主| 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外设来连接不同的从设备。
hehhehee 发表于 2024-7-26 14:45 | 显示全部楼层
在STM32F103VCT6上,通过标准库手动配置SPI引脚可以实现灵活的引脚选择,尽管CubeMX可能不允许这样的配置。
公羊子丹 发表于 2025-2-9 09:11 | 显示全部楼层
这个方案确实有点特别,我记得SPI引脚通常是一组固定的,你混用两个不同端口可能会有信号不一致的问题。
周半梅 发表于 2025-2-9 09:12 | 显示全部楼层
在标准库中直接配置GPIO寄存器理论上是可以实现的,但你需要手动管理GPIO模式和复用功能。
帛灿灿 发表于 2025-2-9 09:13 | 显示全部楼层
STM32F103的SPI1引脚有固定的复用规则,可能需要用GPIO模拟SPI(Bit-banging)才行。
童雨竹 发表于 2025-2-9 09:14 | 显示全部楼层
有没有考虑过直接调整PCB线路,虽然麻烦但从信号完整性来看可能更稳妥?
万图 发表于 2025-2-9 09:15 | 显示全部楼层
Cubemx之所以不支持这样配置,可能就是为了避免潜在的硬件冲突。
Wordsworth 发表于 2025-2-9 09:16 | 显示全部楼层
你可以试试看强行配置PA5和PB5为输出,并分别初始化为SCK和MOSI,但可能不推荐这么做。
Bblythe 发表于 2025-2-9 09:18 | 显示全部楼层
实在不行的话也可以考虑用软件SPI代替硬件SPI,虽然性能会差一些。
Pulitzer 发表于 2025-2-9 09:19 | 显示全部楼层
我觉得使用不同端口的引脚风险还是比较大的,可能会影响SPI通信的稳定性。
Uriah 发表于 2025-2-9 09:20 | 显示全部楼层
有没有尝试用STM32F103的其他SPI外设,比如SPI2来重新设计?
Clyde011 发表于 2025-2-9 09:21 | 显示全部楼层
直接用标准库写代码虽然灵活,但管理复用配置可能要花不少时间,你觉得值得尝试吗?
中国龙芯CDX 发表于 2025-2-9 14:22 | 显示全部楼层
一个是SPI1一个是SPI2肯定是不能混用的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1636

主题

5575

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部