这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » SPI GPIO引脚配置的一个小问题

共6条 1/1 1 跳转至

SPI GPIO引脚配置的一个小问题

菜鸟
2014-04-14 21:21:15     打赏
为什么在利用STM32 SPI固件库驱动串行SPI FLASH时,STM32开发板与FLASH芯片相连接的MOSI MISO引脚都配置成 复用推挽输出模式呢?FLASH芯片不也有数据通过MISO传到STM32吗,此时GPIO应该是输入模式啊??

高工
2014-04-14 21:34:22     打赏
2楼
//PB11/WP  PB12/SPI2NSS  PB13/SPI2CLK  PB14/SPI2MISO  PB15/SPI2MOSI
void  SPIInit(void)
{  
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO,ENABLE);
  GPIO_InitTypeDef GPIO_InitStructure;
  //PB14 (MISO)浮空输入
  GPIO_InitStructure.GPIO_Pin=GPIO_Pin_14;
  GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;
  GPIO_Init(GPIOB,&GPIO_InitStructure);
  //PB15 MOSI PB13 SCK 复用推挽输出(外设总线用)
  GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13|GPIO_Pin_15;
  GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
  GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  GPIO_Init(GPIOB,&GPIO_InitStructure);
  //PB12 NSS,PB11 WP写保护普通推挽输出  本实验用软件控制NSS(主从设备的选择控制端)
  GPIO_InitStructure.GPIO_Pin=GPIO_Pin_12 | GPIO_Pin_11;
  GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
  GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  GPIO_Init(GPIOB,&GPIO_InitStructure);
  
  CE_High();//PB12/NSS  失能

院士
2014-04-14 22:33:13     打赏
3楼

楼上 这也太干脆了吧~~

直接源代码搞定啊~~


院士
2014-04-15 09:37:44     打赏
4楼
干脆点好,楼主省事了,但不知道以后是不是费事儿

菜鸟
2014-04-15 14:59:54     打赏
5楼

你这样写我明白。我的意思是我有点疑惑,STM32 GPIO 不是当引脚作为数据输入都配置成输入模式而作为输出都配置成输出模式吗???但现在STM32 MISO作为数据输入(与FLASH的SO脚相连)为什么可以配置成输出(复用输出)模式呢??


院士
2014-04-15 23:09:13     打赏
6楼
源代码上面并没有将mosi的引脚配置成 输出模式啊~~

共6条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]