SPI中的MOSI和MISO这两个引脚如何配置?
最近查了一些SPI的IO口配置,发现有些例程并没有对MOSI和MISO这两个引脚进行模式配置,但有些例程会将MISO配置成GPIO_Mode_IPU,而将MOSI配置成GPIO_Mode_AF_PP,还有将二者都配置成GPIO_Mode_AF_PP的。关于这点该如何理解,有相关资料推荐吗?这个是HAL库F103C8的SPI2初始化
/**SPI2 GPIO Configuration
PB13 ------> SPI2_SCK
PB14 ------> SPI2_MISO
PB15 ------> SPI2_MOSI
*/
GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_15;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_14;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
供瞅瞅
忘了说,这个是主机模式的,如果从机模式估计不同,没试过 BG4RFF 发表于 2019-2-13 15:54
忘了说,这个是主机模式的,如果从机模式估计不同,没试过
谢谢您的回答,我上面说的那些疑问也都是在主机模式下的设置,您的这个设置是我说的里面的其中一种情况。 MISO,是主in从out,所以主机一般设置为input,有些程序在SPI初始化时并不设置这些口,在具体驱动某一个硬件时再初始化,比如驱动W25QXX时再初始化一下这个口线,习惯不同而已 BG4RFF 发表于 2019-2-13 16:02
MISO,是主in从out,所以主机一般设置为input,有些程序在SPI初始化时并不设置这些口,在具体驱动某一个硬 ...
不好意思,不是你说的这种情况,他就是在进行IO和spi配置的时候并没有对MISO和MOSI的IO口模式进行配置,同时有的都设置成AF_PP模式,有的向你那样分开配置。所以对于我提出的问题我还是没有得到结论。谢谢您的帮助。
页:
[1]