stm32 SPI NSS引脚的使用配置
扫描二维码
随时随地手机看文章
STM的NSS引脚
首先我们说该引脚有两个电平需要注意,一个是与NSS引脚连接的外部电平,一个是NSS引脚的内部电平。
然后我们知道在SPI通信的时候master必须在NSS引脚的内部电平为高电平时才得以进行通信,slaver在NSS引脚的内部电平为低电平时才可以通信。这是前提条件。
我们知道NSS引脚电平的管理有两种方式,一个是软件管理和硬件管理。但当为硬件管理时(SSM=0),NSS管脚的内部电平由与NSS连接的外部电平决定,即外面是高电平,则NSS引脚的内部电平也为高电平。如果你想工作在该模式下,那么master的NSS引脚必须连接高电平,slaver必须连接低电平(一般接地)。软件管理模式(SSM=1)则是通过SSI位来决定内部电平是高电平还是低电平的。SSI=1是NSS引脚的内部电平是高电平,此时与外部输入的电平无关系,STM设置NSS引脚的软件管理是为了可以将NSS引脚空出来,像普通IO引脚运用。如果工作在该模式下,master的SSM=1,SSI=1,slaver则是SSM=1,SSI=0。也快是master配置成软件管理,slaver硬件管理配置,通信时master的SSM=1,SSI=1;slaver的NSS引脚接master的任何一个IO引脚,通信时NSS引脚的外部电平必须是低电平。
最后如果STM与其他IC芯片通过SPI通信时,一般可以这样配置:STM作为master可配置成软件管理模式(SSM=1),此时NSS引脚电位由SSI位决定,STM进行通信是SSI必须为1;IC芯片的CS引脚可以连接任何一个IO引脚(包括NSS引脚)来进行通信控制。