首页 文章

STM32F401 Nucleo SPI时钟问题,使用STM32CubeF4

提问于
浏览
0

STM32F401RE - > CortexM4我使用SPI1和HAL低电平驱动器STM32CubeF4 . 我使用了以下SPI配置: -

SPI_HandleTypeDef hspi;
hspi.Instance=SPI1;
hspi.Init.Mode=SPI_MODE_MASTER;
hspi.Init.Direction=SPI_DIRECTION_2LINES;
hspi.Init.DataSize=SPI_DATASIZE_8BIT;
hspi.Init.CLKPolarity=SPI_POLARITY_HIGH;
hspi.Init.CLKPhase=SPI_PHASE_1EDGE;
hspi.Init.NSS=SPI_NSS_SOFT;
hspi.Init.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_256;
hspi.Init.FirstBit=SPI_FIRSTBIT_MSB;
hspi.Init.TIMode=SPI_TIMODE_ENABLED;
hspi.Init.CRCCalculation=SPI_CRCCALCULATION_DISABLED;
hspi.Init.CRCPolynomial=0;
HAL_SPI_Init(&hspi);

在MOSI上发送一些字节后 . 在逻辑分析仪上,我看到时钟和MOSI数据不匹配 . 这是一个非常放大的图片,如果需要我可以发送整个逻辑分析器文件 .

enter image description here

对于读写,我使用的是HAL_spi_transmit(&hspi,Byte,1,5); HAL_spi_Receive(&hspi,Byte,1,5);

我用stm32l151rct6a做了几乎相同的spi配置,使用std periph库并且它正在工作 .

问题:为什么时钟与MOSI不同步?

1 回答

  • 0

    我可以想象只有一个命令流

    SET_SCK_HIGH();
    SET_MOSI_HIGH();
    

    在主人中,因此效果在稍微不同的时间可见 .

相关问题