Добавлен параметр у функций: ожидание окончания операции
Используется для функций операций с памятью.
This commit is contained in:
@@ -161,21 +161,23 @@ HAL_StatusTypeDef MEMSPI_Read_Memory(MEMSPI_HandleTypeDef *hmemspi, uint32_t FLA
|
||||
* @param pData - откуда брать данные для записи в EEPROM.
|
||||
* @param Size - сколько байтов записать.
|
||||
* @param Timeout - время, за которое должно быть осуществлено чтение.
|
||||
* @param WaitForEnd - ожидание, пока память не выполненит операцию.
|
||||
* @return HAL status.
|
||||
* @note Включает в себя проверку на доступность памяти (флаг BUSY)
|
||||
*/
|
||||
HAL_StatusTypeDef MEMSPI_EEPROM_Write(MEMSPI_HandleTypeDef *hmemspi, uint32_t FLASH_Address, uint8_t *pData, uint16_t Size, uint32_t Timeout);
|
||||
HAL_StatusTypeDef MEMSPI_EEPROM_Write(MEMSPI_HandleTypeDef *hmemspi, uint32_t FLASH_Address, uint8_t *pData, uint16_t Size, uint32_t Timeout, uint8_t WaitForEnd);
|
||||
|
||||
/**
|
||||
* @brief Write external FLASH.
|
||||
* @param hmemspi - указатель на хендл внешней памяти.
|
||||
* @param WriteInit - указатель на структуру, определяющую участок памяти для записи.
|
||||
* @param Timeout - время, за которое должно быть осуществлено чтение.
|
||||
* @param WaitForEnd - ожидание, пока память не выполненит операцию.
|
||||
* @return HAL status.
|
||||
* @note Позволяет перепрограммировать участок памяти. Можно записывать несколько страниц.
|
||||
* Данные в сектора участка, но за пределами участка не сохраняются.
|
||||
*/
|
||||
HAL_StatusTypeDef MEMSPI_FLASH_Write(MEMSPI_HandleTypeDef *hmemspi, MEMSPI_WriteInitTypeDef *WriteInit, uint32_t Timeout);
|
||||
HAL_StatusTypeDef MEMSPI_FLASH_Write(MEMSPI_HandleTypeDef *hmemspi, MEMSPI_WriteInitTypeDef *WriteInit, uint32_t Timeout, uint8_t WaitForEnd);
|
||||
|
||||
/**
|
||||
* @brief Program external FLASH.
|
||||
@@ -184,10 +186,11 @@ HAL_StatusTypeDef MEMSPI_FLASH_Write(MEMSPI_HandleTypeDef *hmemspi, MEMSPI_Write
|
||||
* @param pData - откуда брать данные для записи в FLASH.
|
||||
* @param Size - сколько байтов записать.
|
||||
* @param Timeout - время, за которое должно быть осуществлено чтение.
|
||||
* @param WaitForEnd - ожидание, пока память не выполненит операцию.
|
||||
* @return HAL status.
|
||||
* @note Программирование участка памяти, без ограничений на кол-во байт
|
||||
*/
|
||||
HAL_StatusTypeDef MEMSPI_FLASH_Program(MEMSPI_HandleTypeDef *hmemspi, uint32_t FLASH_Address, uint8_t *pData, uint16_t Size, uint32_t Timeout);
|
||||
HAL_StatusTypeDef MEMSPI_FLASH_Program(MEMSPI_HandleTypeDef *hmemspi, uint32_t FLASH_Address, uint8_t *pData, uint16_t Size, uint32_t Timeout, uint8_t WaitForEnd);
|
||||
|
||||
/**
|
||||
* @brief Erase external FLASH.
|
||||
@@ -195,11 +198,12 @@ HAL_StatusTypeDef MEMSPI_FLASH_Program(MEMSPI_HandleTypeDef *hmemspi, uint32_t F
|
||||
* @param FLASH_Address - адресс где надо данные стереть.
|
||||
* @param Size - сколько байтов стереть.
|
||||
* @param Timeout - время, за которое должно быть осуществлена очистка.
|
||||
* @param WaitForEnd - ожидание, пока память не выполненит операцию.
|
||||
* @return HAL status.
|
||||
* @note Т.к. очитска происходит по секторам, Size нужен, чтобы определить сколько секторов очистить
|
||||
* И если начальны адресс будет на Sector 0, а последний байт на Sector 1, то произойдет очистка Sector 0 и Sector 1
|
||||
*/
|
||||
HAL_StatusTypeDef MEMSPI_FLASH_Erase(MEMSPI_HandleTypeDef *hmemspi, uint32_t FLASH_Address, uint16_t Size, uint32_t Timeout);
|
||||
HAL_StatusTypeDef MEMSPI_FLASH_Erase(MEMSPI_HandleTypeDef *hmemspi, uint32_t FLASH_Address, uint16_t Size, uint32_t Timeout, uint8_t WaitForEnd);
|
||||
///////////////////////---FUNCTIONS FOR USER---//////////////////////
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
@@ -210,11 +214,12 @@ HAL_StatusTypeDef MEMSPI_FLASH_Erase(MEMSPI_HandleTypeDef *hmemspi, uint32_t FLA
|
||||
* @param FLASH_Address - адресс где надо данные стереть.
|
||||
* @param Timeout - время, за которое должно быть осуществлена очистка.
|
||||
* @param tickstart - время, относительно которого надо отсчитывать таймаут.
|
||||
* @param WaitForEnd - ожидание, пока память не выполненит операцию.
|
||||
* @return HAL status.
|
||||
* @note При Timeout = 0, функция не будет ожидать окончания очистки (выставления в 0 флагов BUSY и WEL)
|
||||
* @note Микросхема вроде сама высчитывает какой сектор ерейзнуть, в соответствии с заданным адресом.
|
||||
*/
|
||||
HAL_StatusTypeDef MEMSPI_FLASH_Erase_Sector(MEMSPI_HandleTypeDef *hmemspi, uint32_t FLASH_Address, uint32_t *Timeout, uint32_t *tickstart);
|
||||
HAL_StatusTypeDef MEMSPI_FLASH_Erase_Sector(MEMSPI_HandleTypeDef *hmemspi, uint32_t FLASH_Address, uint32_t *Timeout, uint32_t *tickstart, uint8_t WaitForEnd);
|
||||
|
||||
/**
|
||||
* @brief Program page in external FLASH.
|
||||
@@ -224,11 +229,12 @@ HAL_StatusTypeDef MEMSPI_FLASH_Erase_Sector(MEMSPI_HandleTypeDef *hmemspi, uint3
|
||||
* @param Size - сколько байтов записать.
|
||||
* @param Timeout - время, за которое должно быть осуществлено чтение.
|
||||
* @param tickstart - время, относительно которого надо отсчитывать таймаут.
|
||||
* @param WaitForEnd - ожидание, пока память не выполненит операцию.
|
||||
* @return HAL status.
|
||||
* @note Позволяет перепрограммировать только байты в прелелах одной страницы.
|
||||
Для более гибкого программирования есть функция MEMSPI_FLASH_Program, которая программирует участки любой длины (в теории).
|
||||
*/
|
||||
HAL_StatusTypeDef MEMSPI_FLASH_Program_Page(MEMSPI_HandleTypeDef *hmemspi, uint32_t FLASH_Address, uint8_t *pData, uint16_t Size, uint32_t *Timeout, uint32_t *tickstart);
|
||||
HAL_StatusTypeDef MEMSPI_FLASH_Program_Page(MEMSPI_HandleTypeDef *hmemspi, uint32_t FLASH_Address, uint8_t *pData, uint16_t Size, uint32_t *Timeout, uint32_t *tickstart, uint8_t WaitForEnd);
|
||||
|
||||
/**
|
||||
* @brief Setting WEL bit until it setted or until timeout.
|
||||
|
||||
Reference in New Issue
Block a user