STM32F401RE - > CortexM4 我正在使用带有HAL低电平驱动器的SPI1,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数据不匹配。 这是一个非常放大的图片,如果需要,我可以发送整个逻辑分析器文件。
对于读写,我正在使用 HAL_spi_transmit(& hspi,Byte,1,5); HAL_spi_Receive(& hspi,Byte,1,5);
我用stm32l151rct6a进行了几乎相同的spi配置,使用std periph库并且它正在工作。
问题:为什么时钟与MOSI不同步?
答案 0 :(得分:0)
我可以想象只有像
这样的命令流SET_SCK_HIGH();
SET_MOSI_HIGH();
在主人中,因此效果在稍微不同的时间可见。