求高手解答!! 实际读取数据为0XFF,即没有读到; 按照SST26VF064B规格部分, CE# low之后,发送0x9F, 然后就可以读取到manufacturer, device type, and Device ID; main.c()中读取部分: uint8_t Data1[1] = {0x9F}; uint8_t Rxdata[3]; HAL_GPIO_WritePin(GPIOG,GPIO_PIN_8,GPIO_PIN_RESET); HAL_SPI_Transmit(&hspi6,Data1,1,1000); HAL_SPI_Receive(&hspi6,Rxdata,3,1000); HAL_GPIO_WritePin(GPIOG,GPIO_PIN_8,GPIO_PIN_SET); |
OK了,HW设计DATA IN/OUT反调了;
评分
查看全部评分
{
hspi6.Instance = SPI6;
hspi6.Init.Mode = SPI_MODE_MASTER;
hspi6.Init.Direction = SPI_DIRECTION_2LINES;
hspi6.Init.DataSize = SPI_DATASIZE_8BIT;
hspi6.Init.CLKPolarity = SPI_POLARITY_HIGH;
hspi6.Init.CLKPhase = SPI_PHASE_2EDGE;
hspi6.Init.NSS = SPI_NSS_SOFT;
hspi6.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_256;
hspi6.Init.FirstBit = SPI_FIRSTBIT_MSB;
hspi6.Init.TIMode = SPI_TIMODE_DISABLE;
hspi6.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
hspi6.Init.CRCPolynomial = 10;
if (HAL_SPI_Init(&hspi6) != HAL_OK)
{
Error_Handler();
}
}