xhzheng 发表于 2016-8-3 16:55:29

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);

xhzheng 发表于 2016-9-16 08:14:49

eliucheng-11224 发表于 2016-9-6 11:58
怎么样?解决了没有?

OK了,HW设计DATA IN/OUT反调了;

xhzheng 发表于 2016-8-3 17:10:52

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();
}

}

eliucheng-11224 发表于 2016-9-6 11:58:42

怎么样?解决了没有?
页: [1]
查看完整版本: STM32F429 无法读SPI FLASH SST26VF064BT-104I/SM Device ID