SPI使用DAC7512芯片使用备忘:该使用为初步探索能够正常使用的记录,部分配置可能不太对。
使用方法
通过SPI直接向芯片寄存器写入两个字节数据即可。
总长度16位(15--0):
最高两位(15,14)无效位,次高两位(模式位13,12),数据位12位(11-0)0-4096。
/* USER CODE END SPI4_Init 1 */
hspi4.Instance = SPI4;
hspi4.Init.Mode = SPI_MODE_MASTER;
hspi4.Init.Direction = SPI_DIRECTION_2LINES;
hspi4.Init.DataSize = SPI_DATASIZE_16BIT;
hspi4.Init.CLKPolarity = SPI_POLARITY_HIGH;
hspi4.Init.CLKPhase = SPI_PHASE_2EDGE;
hspi4.Init.NSS = SPI_NSS_SOFT;
hspi4.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_128;
hspi4.Init.FirstBit = SPI_FIRSTBIT_MSB;
hspi4.Init.TIMode = SPI_TIMODE_DISABLE;
hspi4.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
hspi4.Init.CRCPolynomial = 7;
hspi4.Init.CRCLength = SPI_CRC_LENGTH_DATASIZE;
hspi4.Init.NSSPMode = SPI_NSS_PULSE_DISABLE;
if (HAL_SPI_Init(&hspi4) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN SPI4_Init 2 */
调用方法:
Spi_CS_Low();
HAL_SPI_Transmit(&hspi4,data,1,100);
Spi_CS_High();
之前参考的一个博文: