关于spi的gpio模式的思考

从软件SPI的功能上来说,MISO应该配置为输入模式才对,但为什么也可以配置为GPIO_Mode_AF_PP?实际上当一个GPIO端口配置为GPIO_Mode_AF_PP时,片上外设的复用功能输出信号会连接到输出控制电路,然后在端口上产生输出信号。但是在芯片内部,MISO是SPI模块的输入引脚,而不是输出引脚,也就是说“复用功能输出信号"根本不存在,所以"输出控制电路"就不能对外部产生输出信号,然而即使在复用推挽输出模式下,复用功能输入信号却与外部引脚之间相互连接,即MISO得到了外部信号的电平,实现了输入的功能。

具体使用的话,在中文参考手册里面有讲解在GPIO章节,里面有个外设的GPIO配置 小节

硬件SPI的话和它和GPIO就是独立的,内部硬件上也独立的模块, 重点:独立,他们只是共用了芯片的物理管脚
所以这种情况GPIO那部分怎么配置都没关系,但一般都会启用推挽,已给一个更可靠的确定状态

软件SPI是指手动控制IO拉高拉低的方式,按找SPI的时序收发数据
硬件SPI是指配置好SPI功能的各寄存器,并且对应的管脚(设置管脚的复用寄存器)连接到SPI模块,而不是连接到GPIO模块,这样收发数据时只需要读写对应的寄存器,时序由内部硬件部分自动完成
如果使用硬件SPI,对应的几个芯片管脚是和GPIO功能断开的
GPIO指一个功能模块,可以拉高拉低芯片管脚,也可以读取管脚的电平,但它并不是指芯片的脚,它只是一个功能

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值