STM32
直播中

李明聪

7年用户 1137经验值
私信 关注
[问答]

STM8是打开SPI外设时钟时开始输出SCK信号还是SPI_CMD(Enable)后开始输出SCK信号?

STM8 SPI初始化后:
CLK_PeripheralClockConfig(CLK_PERIPHERAL_SPI, ENABLE);
SPI_Init(SPI_FIRSTBIT_MSB, SPI_BAUDRATEPRESCALER_64, SPI_MODE_MASTER,
               SPI_CLOCKPOLARITY_HIGH, SPI_CLOCKPHASE_2EDGE, SPI_DATADIRECtiON_1LINE_TX,
               SPI_NSS_SOFT, 0x07);
SPI_Cmd(ENABLE);

问题:
是打开SPI外设时钟时开始输出SCK信号还是SPI_CMD(Enable)后开始输出SCK信号?

回帖(1)

陈勇

2024-5-9 16:16:48
在STM8微控制器中,SPI(串行外设接口)的SCK(时钟信号)是在SPI_CMD(Enable)之后开始输出的。以下是详细的解释:

1. 首先,您需要配置SPI的时钟。这可以通过设置CLK_PeripheralClockConfig(CLK_PERIPHERAL_SPI, ENABLE);来实现。这一步将启用SPI外设的时钟,但此时SCK信号尚未开始输出。

2. 接下来,您需要初始化SPI。这可以通过调用SPI_Init()函数来完成。在这个函数中,您需要设置SPI的工作模式、波特率、主从模式、时钟极性、时钟相位、数据方向、NSS(片选信号)配置等参数。这一步将配置SPI的工作方式,但仍然不会开始输出SCK信号。

3. 最后,您需要启用SPI。这可以通过调用SPI_Cmd(ENABLE);来实现。这一步将使SPI开始工作,此时SCK信号将开始输出。

综上所述,STM8 SPI的SCK信号是在SPI_Cmd(Enable)之后开始输出的。在SPI_Cmd(Enable)之前,您需要先配置SPI的时钟并初始化SPI,但这些步骤并不会立即开始输出SCK信号。只有当SPI被启用后,SCK信号才会开始输出。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分