SPI总线之NSS

对于每个SPI的NSS,可以output也可以input
如果是Input:就是把NSS的电平信号给自己,
如果是Output:就是把NSS信号发出去,给从机
NSS配置为输出还是不输出,通过SPI_CR2寄存器的SSOE选择,
 SSOE为1的时候,且SPI是主模式,NSS就拉低,那么其他的设备,自动接收到低电平,自动为从设备
NSS的输入,分为硬件输入和软件控制输入两个模式,
 软件模式:
  1. 对于Master来说,设置SPI_CR1的SSM和SSI都为1,SSM为1是为了是能软件管理。此时,NSS外部引脚可以干别的(作为驱动Slave的片选信号)
   内部的NSS则通过SPI_CRL的SSI来驱动,前面讲SSI为1,是为了使内部NSS内电平为1,为毛内电平要为1呢?
   因为STM32上说,要保持Master状态,NSS就应该为1,硬件模式下也是如此。
  2. 对于Slave呢,Master自己解决了NSS为高的问题,Slave自己的NSS为低也要解决啊,
    若Slave是一个MCU,比如是个STM32单片机,你就得把SSM置为1,SSI置为0啊!这就解决了Slave的NSS需要拉低的问题。
    如果Slave是个支持SPI片子(比如我那个EN25Q64),那直接把CS接到GND就可以了;洋气点,不是Master那个NSS信号内部自己解决了吗,那直接用它当作GPIO输出低电平给Slave的CS啊,其他GPIO也成
 硬件模式:
  对于Master,NSS直接怼到VCC,对于Slave,NSS怼到GND就完了
  上面说过,主机SSOE为1的时,它是把NSS信号(低电平)发出去,直接把主机的NSS和从机的CS接一块就成。
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值