STM32F429 无法读SPI FLASH SST26VF064BT-104I/SM Device ID
求高手解答!!实际读取数据为0XFF,即没有读到;
按照SST26VF064B规格部分,
CE# low之后,发送0x9F, 然后就可以读取到manufacturer, device type, and Device ID;
main.c()中读取部分:
uint8_t Data1 = {0x9F};
uint8_t Rxdata;
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);
eliucheng-11224 发表于 2016-9-6 11:58
怎么样?解决了没有?
OK了,HW设计DATA IN/OUT反调了; void MX_SPI6_Init(void)
{
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();
}
} 怎么样?解决了没有?
页:
[1]