71 lines
3.2 KiB
C
71 lines
3.2 KiB
C
/**
|
||
******************************************************************************
|
||
* @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_config.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
|
||
* @}
|
||
*/
|