/** ****************************************************************************** * @file memspi_config.h * @brief Конфигурационные параметры для общения с FLASH/EEPROM по SPI ****************************************************************************** @addtogroup MEMSPI_CONFIGS Memory SPI configs @ingroup MEMSPI @brief Конфигурация библиотеки @{ ****************************************************************************** * @details Файл содержит настройки для работы Memory SPI: Размеры страниц и секторов внешней памяти Включение двойного статус регистра (если соответствующая микросхема) - Низкоуровневые функции для приема/передачи по SPI и выбора чипа ChipSelect ******************************************************************************/ #ifndef __SPI_MEMORY_CONFIG_H_ #define __SPI_MEMORY_CONFIG_H_ #include "upp_defs.h" /////////////////////////---USER SETTINGS---///////////////////////// //#define MEMSPI_SEPARATED_STATUS_REGISTER ///< Использовать двойной статус регистр #define MEMSPI_SECTOR_SIZE (0x1000) ///< Размер одного сектора памяти (4096 байт) #define MEMSPI_PAGE_SIZE (0x100) ///< Размер одной страницы памяти (256 байт) /** @defgroup MEMSPI_LowLevel Config Hardware SPI * @brief Конфигурация функций для доступа к SPI * @{ */ /** * @brief SPI Transmit. * @param _hmemspi_ Указатель на хендл внешней памяти. * @param _data_ Указатель на данные для отправки. * @param _size_ Размер данных для отправки. * @param _timeout_ Время, за которое должна быть осуществлена отправка. * @note Здесь вызывается только функция HAL, и ничего больше. */ #define MEMSPI_SPI_Transmit(_hmemspi_, _data_, _size_, _timeout_) HAL_SPI_Transmit(_hmemspi_->hspi, _data_, _size_, _timeout_) /** * @brief SPI Receive. * @param _hmemspi_ Указатель на хендл внешней памяти. * @param _data_ Указатель на буффер для прниема данных. * @param _size_ Размер данных для приема. * @param _timeout_ Время, за которое должен быть осуществлен прием. * @note Здесь вызывается только функция HAL, и ничего больше. */ #define MEMSPI_SPI_Receive(_hmemspi_, _data_, _size_, _timeout_) HAL_SPI_Receive(_hmemspi_->hspi, _data_, _size_, _timeout_) /** * @brief Select MEMORY chip. */ #define MEMSPI_Select(_hmemspi_) (_hmemspi_->CS_GPIOx->BSRR = _hmemspi_->CS_PIN << 16) /** * @brief Deselect MEMORY chip. */ #define MEMSPI_Deselect(_hmemspi_) (_hmemspi_->CS_GPIOx->BSRR = _hmemspi_->CS_PIN) /** //MEMSPI_LowLevel * @} */ #endif // __SPI_MEMORY_CONFIG_H_ /** //MEMSPI_CONFIGS * @} */