一、区别
1.定义:
软件模式:
SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
硬件模式
SPI_InitStructure.SPI_NSS =SPI_NSS_Hard
其实这个NSS是控制片选脚CS的控制方式,
SPI_NSS_Hard硬件模式即为:SPI自动控制CS片选信号,发送数据自动拉低电平,不发送维持高电平,弊端只能连接一个从机。
SPI_NSS_Soft软件模式即为:通过控制IO口来把CS置低置高,发送数据时候,通过IO口把CS拉低,发送完成后拉高,优点可以连接多个从机。
配置为SPI_NSS_Hard时,片选脚只能选择固定的外设脚
配置为SPI_NSS_Soft时,cs脚可以通过软件任意分配引脚
二、应用场景
1.比较重要,操作频繁的spi器件
LCD刷屏比较重要,一般spi上只挂一个器件,这个时候就可以使用单片机的硬件NSS脚;软件设置为SPI_NSS_Hard;这种情况下在使用DMA刷屏的时候不需要管SPI引脚的操作,会省掉许多麻烦,如开启DMA后何时拉高片选脚,cpu只能通过等待、查询、或者中断中去操作片选脚