[C] 纯文本查看 复制代码
/* SPI4 parameter configuration*/
SPIADCHandle.Instance = SPI4;
// BSP_vDeInitSPIADC();
// if(HAL_SPI_GetState(&SPIADCHandle) == HAL_SPI_STATE_RESET) {
SPIADCHandle.Init.Mode = SPI_MODE_MASTER; /* SPI works in master control mode */
SPIADCHandle.Init.Direction = SPI_DIRECTION_2LINES; /* full duplex */
SPIADCHandle.Init.DataSize = SPI_DATASIZE_8BIT; /* Set data width */
SPIADCHandle.Init.CLKPolarity = SPI_POLARITY_LOW; /* Configure clock polarity */
SPIADCHandle.Init.CLKPhase = SPI_PHASE_1EDGE; /* Configure clock phase */
SPIADCHandle.Init.NSS = SPI_NSS_SOFT; /* Use software to manage chip select pins */
SPIADCHandle.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_128; /* Set baud rate, 100Mhz/16=6.25MHz */
SPIADCHandle.Init.FirstBit = SPI_FIRSTBIT_MSB; /* Data transmission is transmitted first */
SPIADCHandle.Init.TIMode = SPI_TIMODE_DISABLE; /* Disable TI mode */
SPIADCHandle.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; /* Disable CRC */
SPIADCHandle.Init.CRCPolynomial = 0x0A; /* This three bits are invalid after disabling CRC */
// SPIADCHandle.Init.TxCRCInitializationPattern = SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN;
// SPIADCHandle.Init.RxCRCInitializationPattern = SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN;
// SPIADCHandle.Init.NSSPMode = SPI_NSS_PULSE_DISABLE; /* Disable pulse output */
// SPIADCHandle.Init.NSSPolarity = SPI_NSS_POLARITY_LOW; /* This bit is invalid after disabling pulse output */
// SPIADCHandle.Init.FifoThreshold = SPI_FIFO_THRESHOLD_01DATA; /* Set the FIFO size as a data item */
// SPIADCHandle.Init.MasterSSIdleness = SPI_MASTER_SS_IDLENESS_00CYCLE;
// SPIADCHandle.Init.MasterInterDataIdleness = SPI_MASTER_INTERDATA_IDLENESS_00CYCLE;
// SPIADCHandle.Init.MasterReceiverAutoSusp = SPI_MASTER_RX_AUTOSUSP_DISABLE;
SPIADCHandle.Init.MasterKeepIOState = SPI_MASTER_KEEP_IO_STATE_ENABLE; /* SPI pins maintain current status after disabled */
SPIADCHandle.Init.IOSwap = SPI_IO_SWAP_DISABLE; /* Disable invert MISO/MOSI alternate functions */
if (HAL_SPI_Init(&SPIADCHandle) != HAL_OK) {
ERROR_HANDLER();
}