用SPI写入FRAM(I2C到EEPROM)后,STM32F UART停止接收

时间:2017-12-26 14:46:53

标签: stm32 uart i2c spi

我在UART上使用STM32F405就好了(接收和传输)。

(while (HAL_UART_Receive_DMA(&huart4, receiveBuffer, UARTRECEIVEDBUFFERSIZE) != HAL_OK);) 

现在我在我的电路中添加了一个外部FRAMFM25V02A)并使用SPI来读写它。阅读工作正常。但在写入FRAM(传输完成,数据存储完毕)后,UART不再接收数据!然而,UART仍像以前一样传输数据。

void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{...}

中断回调不再被触发。

这就是我写给FRAM的方式。

opcodeWREN[0] = 0b00000110;
opcodeWRITE[0] = 0b00000010;

HAL_GPIO_WritePin(GPIOC, GPIO_PIN_1, GPIO_PIN_RESET); //chip select
HAL_SPI_Transmit(&hspi2, opcodeWREN,1,5);
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_1, GPIO_PIN_SET);

HAL_GPIO_WritePin(GPIOC, GPIO_PIN_1, GPIO_PIN_RESET);
HAL_SPI_Transmit(&hspi2, opcodeWRITE,1,5);
HAL_SPI_Transmit(&hspi2, sendFRAMBufferByte,240,5); //transmitting 240byte of data
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_1, GPIO_PIN_SET);

我在使用I2C撰写EEPROM时遇到了同样的问题。

怎么回事?任何想法我应该看什么?谢谢!斯蒂芬

0 个答案:

没有答案