【发布时间】:2014-07-02 04:58:51
【问题描述】:
STM32F401RE --> CortexM4 我正在使用带有 HAL 低级驱动程序 STM32CubeF4 的 SPI1。 我使用了以下 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 数据不匹配。 这是一张非常放大的图片,如果需要,我可以发送整个逻辑分析仪文件。
对于读写,我正在使用 HAL_spi_transmit(&hspi, Byte, 1, 5); HAL_spi_Receive(&hspi, Byte, 1, 5);
我用stm32l151rct6a做了几乎相同的spi配置,使用std periph库,它正在工作。
问题:为什么时钟与 MOSI 不同步?
【问题讨论】: