spi 手册问题

2019-08-14 02:15发布

1.jpg 2.jpg

看了很久,表示无语,一个地方说软件控制片选模式就当普通IO用,而在寄存器的地方又说软件片选要根据SSI来配置,IO配置无效,看了看寄存器版的程序,是当成普通IO用的,有没有大神能解释一下
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
K.O.Carnivist
1楼-- · 2019-08-14 02:22
SNEZSTM32 发表于 2017-9-8 14:47
嗯,我也是这样理解的,但是SPI_InitStructure.SPI_NSS = SPI_NSS_Soft这个操作也就是把SSM设为1,但是正 ...

翻译错了。
原话是SSM置位时,“NSS引脚输入被SSI位的值替代”,
意思是这时从机模式的片选由SSI寄存器决定而不是NSS引脚。
huanghan
2楼-- · 2019-08-14 04:42
用库函数的也是一样,NSS用IO做的
SNEZSTM32
3楼-- · 2019-08-14 05:46
huanghan 发表于 2017-9-7 21:59
用库函数的也是一样,NSS用IO做的

如果是普通IO,那么SSM SSI还有什么用呢
huanghan
4楼-- · 2019-08-14 08:08
 精彩回答 2  元偷偷看……
SNEZSTM32
5楼-- · 2019-08-14 10:02
huanghan 发表于 2017-9-8 10:03
是作片选用的

这个我知道,但是我感觉手册说的很矛盾,导致我不知道片选是应该用SSM SSI控制,还是用普通IO控制,这之间有什么差别没有
huanghan
6楼-- · 2019-08-14 14:44
本帖最后由 huanghan 于 2017-9-8 10:18 编辑
SNEZSTM32 发表于 2017-9-8 10:10
这个我知道,但是我感觉手册说的很矛盾,导致我不知道片选是应该用SSM SSI控制,还是用普通IO控制,这之 ...

普通IO就可以了  注意SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;的配置  

SPI_Cmd(SPI1, DISABLE);
  SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;//设置spi双向
  SPI_InitStructure.SPI_Mode = SPI_Mode_Master;//主机模式设定
  SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;//8位数模式
  SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;   
  SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;
  SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
  SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_8;//spi时钟4分频
  SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;//第一位是高位
  SPI_InitStructure.SPI_CRCPolynomial = 7;
  SPI_Init(SPI1, &SPI_InitStructure);


一周热门 更多>