我必须在STM32F4 Discovery板上进行SPI通信。我用CubeMX配置了它。生成以下代码以配置SPI设备:
$Session = New-PSSession -ComputerName PowerShellAzureMachine -Credential $cred
Copy-Item -Path C:\temp\localfile.txt -Destination C:\localfile.txt -ToSession $session
我创建了一个通过SPI发送的数组,并使用HAL_SPI_Transmit_DMA函数发送它。
hspi2.Instance = SPI2;
hspi2.Init.Mode = SPI_MODE_MASTER;
hspi2.Init.Direction = SPI_DIRECTION_2LINES;
hspi2.Init.DataSize = SPI_DATASIZE_8BIT;
hspi2.Init.CLKPolarity = SPI_POLARITY_LOW;
hspi2.Init.CLKPhase = SPI_PHASE_1EDGE;
hspi2.Init.NSS = SPI_NSS_SOFT;
hspi2.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_4;
hspi2.Init.FirstBit = SPI_FIRSTBIT_MSB;
hspi2.Init.TIMode = SPI_TIMODE_DISABLE;
hspi2.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
hspi2.Init.CRCPolynomial = 10;
问题是,我没有从中获得正确的输出。我将范围连接到它,我只看到16个字节。
Screenshot of the output from the scope
这是我第一次使用stm32f4。我很难弄清楚它为什么不起作用。我在互联网上搜索,发现STM32上的SPI存在更多问题。我还没有找到解决方案。