stm32之spi之NSS管脚信号

原文链接:链接

NSS管脚及我们熟知的片选信号,作为主设备NSS管脚为高电平,从设备NSS管脚为低电平。当NSS管脚为低电平时,该spi设备被选中,可以和主设备进行通信。在stm32中,每个spi控制器的NSS信号引脚都具有两种功能,即输入和输出。所谓的输入就是NSS管脚的信号给自己。所谓的输出就是将NSS的信号送出去,给从机。

NSS管脚的输出和输入在spi控制器中有专门的寄存器控制位控制其进行切换,而这个寄存器就是spi_cr2。在这个寄存器中其中有一位为ssoe,当SSOE位为1时且相应的spi处于主模式下那么NSS就输出低电平。所有与之相连的设备NSS管脚接收到的就都是低电平。因此被选作为从设备。

对于NSS的输入,又分为软件输入和硬件输入。

软件输入:

NSS分为内部管脚和外部管脚,通过设置spi_cr1寄存器的ssm位和ssi位都为1可以设置NSS管脚为软件输入模式且内部管脚提供的电平为高电平,其中SSM位为使能软件输入位。SSI位为设置内部管脚电平位。同理通过设置SSM和SSI位1和0则此时的NSS管脚为软件输入模式但内部管脚提供的电平为0。若从设备是一个其他的带有spi接口的芯片,并不能选择NSS管脚的方式,则可以有两种办法,一种是将NSS管脚直接接低电平。另一种就是通过主设备的任何一个gpio口去输出低电平选中从设备。

硬件输入:

主机接高电平,从机接低电平。

猜你喜欢

转载自blog.csdn.net/weixin_42048417/article/details/82145741