Чет работает

This commit is contained in:
2025-12-16 17:57:59 +03:00
commit 260a6416ad
2906 changed files with 982301 additions and 0 deletions

View File

@@ -0,0 +1,70 @@
/**
******************************************************************************
* @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 "stm32f1xx_hal.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
* @}
*/