инициализация spi перенесена на cube (работает)
убрана кастомная библиотека periph_general
This commit is contained in:
@@ -40,29 +40,16 @@ uint8_t sector_buff[MEMSPI_SECTOR_SIZE];
|
||||
* @brief Initialize SPI and GPIO for MEMSPI FLASH.
|
||||
* @param hmemspi - указатель на структуру с настройками SPI и GPIO портов.
|
||||
*/
|
||||
void MEMSPI_Base_Init(MEMSPI_HandleTypeDef *hmemspi)
|
||||
void MEMSPI_Base_Init(MEMSPI_HandleTypeDef *hmemspi, SPI_HandleTypeDef *hspi)
|
||||
{
|
||||
SPI_SettingsTypeDef sspi;
|
||||
|
||||
|
||||
// SPI PERIPH INIT
|
||||
if(hmemspi->sspi.hspi.Instance == NULL)
|
||||
hmemspi->sspi.hspi.Instance = SPI1;
|
||||
|
||||
hmemspi->sspi.hspi.Init.Mode = SPI_MODE_MASTER;
|
||||
hmemspi->sspi.hspi.Init.Direction = SPI_DIRECTION_2LINES;
|
||||
hmemspi->sspi.hspi.Init.DataSize = SPI_DATASIZE_8BIT;
|
||||
hmemspi->sspi.hspi.Init.CLKPolarity = SPI_POLARITY_LOW;
|
||||
hmemspi->sspi.hspi.Init.CLKPhase = SPI_PHASE_1EDGE;
|
||||
hmemspi->sspi.hspi.Init.NSS = SPI_NSS_SOFT;
|
||||
hmemspi->sspi.hspi.Init.FirstBit = SPI_FIRSTBIT_MSB;
|
||||
hmemspi->sspi.hspi.Init.TIMode = SPI_TIMODE_DISABLE;
|
||||
hmemspi->sspi.hspi.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
|
||||
|
||||
// SPI INIT
|
||||
SPI_Base_Init(&hmemspi->sspi);
|
||||
|
||||
if(hspi == NULL)
|
||||
return;
|
||||
|
||||
hmemspi->hspi = hspi;
|
||||
|
||||
// GPIO INIT
|
||||
GPIO_Clock_Enable(hmemspi->CS_GPIOx);
|
||||
// CHIP SELECT PIN INIT
|
||||
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||||
GPIO_InitStruct.Pin = hmemspi->CS_PIN;
|
||||
@@ -70,6 +57,7 @@ void MEMSPI_Base_Init(MEMSPI_HandleTypeDef *hmemspi)
|
||||
GPIO_InitStruct.Pull = GPIO_PULLDOWN;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
||||
HAL_GPIO_Init(hmemspi->CS_GPIOx, &GPIO_InitStruct);
|
||||
MEMSPI_Deselect(hmemspi);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -5,11 +5,10 @@
|
||||
#define __SPI_MEMORY_H_
|
||||
|
||||
#include "stm32f4xx_hal.h"
|
||||
#include "gpio_general.h"
|
||||
|
||||
/////////////////////////---USER SETTINGS---/////////////////////////
|
||||
#define EXT_FLASH
|
||||
//#define EXT_EEPROM
|
||||
//#define EXT_FLASH
|
||||
#define EXT_EEPROM
|
||||
|
||||
#if defined(EXT_FLASH) & defined(EXT_EEPROM)
|
||||
#error Choose only one memory
|
||||
@@ -29,7 +28,7 @@
|
||||
* @param _timeout_ - время, за которое должна быть осуществлена отправка.
|
||||
* @note Здесь вызывается только функция HAL, и ничего больше.
|
||||
*/
|
||||
#define MEMSPI_SPI_Transmit(_hmemspi_, _data_, _size_, _timeout_) HAL_SPI_Transmit(&_hmemspi_->sspi.hspi, _data_, _size_, _timeout_)
|
||||
#define MEMSPI_SPI_Transmit(_hmemspi_, _data_, _size_, _timeout_) HAL_SPI_Transmit(_hmemspi_->hspi, _data_, _size_, _timeout_)
|
||||
/**
|
||||
* @brief SPI Receive.
|
||||
* @param _hmemspi_ - указатель на хендл внешней памяти.
|
||||
@@ -38,7 +37,7 @@
|
||||
* @param _timeout_ - время, за которое должен быть осуществлен прием.
|
||||
* @note Здесь вызывается только функция HAL, и ничего больше.
|
||||
*/
|
||||
#define MEMSPI_SPI_Receive(_hmemspi_, _data_, _size_, _timeout_) HAL_SPI_Receive(&_hmemspi_->sspi.hspi, _data_, _size_, _timeout_)
|
||||
#define MEMSPI_SPI_Receive(_hmemspi_, _data_, _size_, _timeout_) HAL_SPI_Receive(_hmemspi_->hspi, _data_, _size_, _timeout_)
|
||||
|
||||
/**
|
||||
* @brief Defines for MEMORY chip.
|
||||
@@ -113,8 +112,6 @@ typedef struct
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint16_t SR;
|
||||
SPI_HandleTypeDef hspi;
|
||||
GPIO_TypeDef *CS_GPIOx;
|
||||
uint32_t CS_PIN;
|
||||
GPIO_TypeDef *CLK_GPIOx;
|
||||
@@ -128,7 +125,7 @@ typedef struct
|
||||
typedef struct
|
||||
{
|
||||
uint16_t SR;
|
||||
SPI_SettingsTypeDef sspi;
|
||||
SPI_HandleTypeDef *hspi;
|
||||
// MEMSPI_GPIOTypeDef GPIOs;
|
||||
GPIO_TypeDef *CS_GPIOx;
|
||||
uint32_t CS_PIN;
|
||||
@@ -146,7 +143,7 @@ extern MEMSPI_HandleTypeDef hmemspi;
|
||||
* @brief Initialize SPI and GPIO for MEMSPI FLASH.
|
||||
* @param hmemspi - указатель на структуру с настройками SPI и GPIO портов.
|
||||
*/
|
||||
void MEMSPI_Base_Init(MEMSPI_HandleTypeDef *hmemspi);
|
||||
void MEMSPI_Base_Init(MEMSPI_HandleTypeDef *hmemspi, SPI_HandleTypeDef *hspi);
|
||||
|
||||
/**
|
||||
* @brief Read external FLASH.
|
||||
|
||||
Reference in New Issue
Block a user