SPI如何在初始化后再次修改CPOL和CPHA属性

2019-07-21 02:46发布

我用片上的SPI3连接了2个SPI从站,但是看SPI从站芯片手册1个需要时钟处于高电平,下降沿采样;1个需要时钟空闲时低电平,上升沿采样。
现在我分别与1个SPI从站通讯,通过初始化时修改CPOL的属性,2个片子都能通讯成功。
现在我需要与2个片子通讯,我想问的是:
1 与第一个芯片通讯时,通过整体更改属性的方式(修改SPIx_Init())更改CPOL属性,与第2个芯片通讯时再整体更改属性?
2 还是用下面的函数修改?
void changeSPICPOL(u8 level)
{
 if(level ==0)
  SPI_InitStruct.SPI_CPOL = SPI_CPOL_Low;
 else
  SPI_InitStruct.SPI_CPOL = SPI_CPOL_High;
 SPI_Cmd(Open_SPI3, ENABLE);
}
InitStruct 定义为全局,其它属性在初始化时已经设置了值。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。