美文网首页
SPI总线引脚都配置为复用推挽输出问题

SPI总线引脚都配置为复用推挽输出问题

作者: 飞向深空 | 来源:发表于2019-07-29 08:22 被阅读0次

读取其他ARM芯片(如NXP)一般很容易看出芯片的设置是否正确。不过对于STM32就容易让人迷惑了。例如,我们在使用SPI总线进行通信时,可以这样设置:
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 |
GPIO_Pin_6 | GPIO_Pin_7;
GPIO_InitStructure.GPIO_Speed =
GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode =
GPIO_Mode_AF_PP;
// 复用的推挽输出
答题是肯定的,对于STM32的这一类管脚来说(如USART_RX)即可以设置成为输入模式,也可以设置成为复用的推挽输出。其工作都是正常的,不过建议大家还是设置成为输入端口的好,容易理解。
具体产生这一问题的原因是:从功能上来说,MISO应该配置为输入模式才对,但为什么也可以配置为GPIO_Mode_AF_PP?请看下面的GPIO复用功能配置框图。当一个GPIO端口配置为GPIO_Mode_AF_PP是,这个端口的内部结构框图如下:图中可以看到,片上外设的复用功能输出信号会连接到输出控制电路,然后在端口上产生输出信号。但是在芯片内部,MISO是SPI模块的输入引脚,而不是输出引脚,也就是说图中的"复用功能输出信号"根本不存在,因此"输出控制电路"不能对外产生输出信号。

相关文章

  • SPI总线引脚都配置为复用推挽输出问题

    读取其他ARM芯片(如NXP)一般很容易看出芯片的设置是否正确。不过对于STM32就容易让人迷惑了。例如,我们在使...

  • 2.4G-多对1通信

    引脚: NRF-CE:RX或TX模式选择 CSN:SPI片选信号 初始化需要推挽输出 置高电平 因为低电平有效 S...

  • AVR硬件SPI

    1、使用硬件SPI时,不自动控制SS引脚:配置为 SPI 主机时, SPI 接口不自动控制 SS 引脚,必须由用户...

  • 2020-11-09 SPI Protocol

    Serial Peripheral Interface 通讯引脚 SPI使用3条通讯总线和1条片选线。 MOSI:...

  • Arduino 基本函数

    数字I/O pinMode() 设置引脚模式 配置引脚为输出或输出模式. 参数:pin 引脚编号mode: INP...

  • 12/7

    GPIO输出 引脚:X1~X12, Y1~Y12 模式mode = Pin.OUT_PP 推挽输出 ...

  • STM32F4xx学习笔记--GPIO操作

    目标功能:在GPIOA的0和1两个引脚推挽输出(Push-Pull,即PP模式),速度为50Mhz(注1) 查表可...

  • 外围串行接口的Verilog HDL设计实现

    1.SPI总线简介 SPI总线接口。SPI是 Serial Peripheral Interface 的简称,即外...

  • SPI接口

    SPI接口扫盲 SPI定义/SPI时序(CPHA CPOL) SPI详解 SPI总线协议

  • 11.14

    一、SPI通信 1.SPI是同步(因为有SCK)通讯。通讯时有主从关系。 2.有四个引脚:MOSI(主输出从输入)...

网友评论

      本文标题:SPI总线引脚都配置为复用推挽输出问题

      本文链接:https://www.haomeiwen.com/subject/nttolctx.html