STM32F407 SPI线的选择
发布日期:2021-06-30 22:01:51 浏览次数:2 分类:技术文章

本文共 1527 字,大约阅读时间需要 5 分钟。

前言

STM32F407的内建设备的管脚,一般都有多套。

如果想充分利用片上资源, 就可能遇到要调整内建设备管脚的情况。

这次正好要调整板子, 为了上外部内存, 换了STM34F407ZGT6.

将STM32F407VGT6的管脚定义挪过来时,本来想将SPI版的SD卡操作换成SDIO的操作. 发现不行,因为串口都用满了,不能为了更稳定快速的操作SD卡,就将串口砍掉(因为SDIO用的是一套固定的管脚,从PC6~PC15 + PB8~PB9, 那就要将串口4,5,6都砍掉,那老大要砍我了)。

以前的SPI管脚定义是同事选的,我也尝试选选,看看SPI怎么选最合适。有2个SPI存储,都接在SPI上,因为可能存在互相拷贝的情况,那最好不要用一套SPI线+不同的片选。

试验

MCU = STM32F407ZGT6为了走等长线, 尽量将SPIX_SCK, SPIX_MISO, SPIX_MOSI 选在相邻的管脚上如果3条线无法在一起,也要将SPIX_MISO, SPIX_MOSI选在相邻的管脚上不用换硬件片选, 省了SPIX_NSS在STM32F407中:* UART和SPI都有2套管脚可选* SDIO, FSMC就只能是一套固定的管脚硬件资源占用情况* PB3 被SWO用了* PA7 被RMII_CRS_DV用了* PB13 被RMII_TXD1用了// SPI1_NSS = PA4 PA15SPI1_SCK = PA5 PB3SPI1_MISO = PA6 PB4SPI1_MOSI = PA7 PB5* SPI1选择1 = PA5(SPI1_SCK), PB4(SPI1_MISO), PB5(SPI1_MOSI)就这一个选择, 只能用SPI1选择1// SPI2_NSS = PB12 PB9SPI2_SCK = PB13 PB10SPI2_MISO = PB14 PC2SPI2_MOSI = PB15 PC3* SPI2选择1 = PB10(SPI2_SCK), PB14(SPI1_MISO), PB15(SPI1_MOSI)* SPI2选择2 = PB10(SPI2_SCK), PC2(SPI1_MISO), PC3(SPI1_MOSI)可以看出SPI2选择1有力于走等长线,所以选SPI2选择1// SPI3_NSS = PA4 PA15SPI3_SCK = PC10 PB3SPI3_MISO = PC11 PB4SPI3_MOSI = PC12 PB5* 到这,因为PB3, PB4, PB5, 被SWO 和 SPI1用掉了,就只能从PC10, PC11, PC12中选。如果这3条线也被用掉了,就无法再用SPI3PC10,PC11被串口4用掉了.PC12被串口5用掉了。看看串口4,串口5是否可以用备用引脚.USART1_TX = PA9 PB6USART1_RX = PA10 PB7USART2_TX = PD5 PA2USART2_RX = PD6 PA3// 串口3有3套管脚可用USART3_TX = PB10 PC10 PD8USART3_RX = PB11 PC11 PD9UART4_TX = PA0 PC10UART4_RX = PA1 PC11// 串口5只有1套管脚可用UART5_TX = PC12UART5_RX = PD2USART6_TX = PC6 PG14USART6_RX = PC7 PG9PA0被硬件接口管脚PA0用掉了,PA1被RMII_REF_CLK用掉了, 所以串口4只能用PC10, PC11串口5只有一套管脚(PC12, PD2)可用,也没办法挪了所以SPI3就没办法用了

转载地址:https://lostspeed.blog.csdn.net/article/details/103451320 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:MDK5 #254: type name is not allowed
下一篇:STM32 6根线SWD的接法

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月25日 14时31分54秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章