init commit
сделаны базовые хедеры: - mylibs_config - mylibs_defs - mylibs_include - trace - trackers - bit_access также сделан модуль general_gpio.c/.h Но надо проверить переструктуризированные модули Остальные модули __general_XXX в целом готовы и как-то работают (на МЗКТЭ) но не структуризированы
This commit is contained in:
100
MyLibsGeneral/Inc/__general_spi.h
Normal file
100
MyLibsGeneral/Inc/__general_spi.h
Normal file
@@ -0,0 +1,100 @@
|
||||
/**
|
||||
**************************************************************************
|
||||
* @file general_spi.h
|
||||
* @brief Заголовочны файл модуля инициализации SPI.
|
||||
*************************************************************************/
|
||||
#ifndef __SPI_GENERAL_H_
|
||||
#define __SPI_GENERAL_H_
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////---USER SETTINGS---/////////////////////////
|
||||
#define HAL_SPI_MODULE_ENABLED // need to uncomment these defines in stm32f4xx_hal_conf.h
|
||||
// also need to add hal_spi.c (source code)
|
||||
|
||||
#define USE_SPI1
|
||||
#define USE_SPI2
|
||||
#define USE_SPI3
|
||||
|
||||
/////////////////////////---USER SETTINGS---/////////////////////////
|
||||
#include "mylibs_defs.h"
|
||||
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
////////////////////////////---DEFINES---////////////////////////////
|
||||
|
||||
|
||||
|
||||
////////////////////////////---DEFINES---////////////////////////////
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
///////////////////////---STRUCTURES & ENUMS---//////////////////////
|
||||
typedef struct // struct with settings for custom function
|
||||
{
|
||||
SPI_HandleTypeDef hspi;
|
||||
|
||||
GPIO_TypeDef *CLK_GPIOx;
|
||||
uint32_t CLK_PIN;
|
||||
uint32_t CLK_GPIO_AlternageFunc;
|
||||
|
||||
GPIO_TypeDef *MISO_GPIOx;
|
||||
uint32_t MISO_PIN;
|
||||
uint32_t MISO_GPIO_AlternageFunc;
|
||||
|
||||
GPIO_TypeDef *MOSI_GPIOx;
|
||||
uint32_t MOSI_PIN;
|
||||
uint32_t MOSI_GPIO_AlternageFunc;
|
||||
|
||||
}SPI_SettingsTypeDef;
|
||||
///////////////////////---STRUCTURES & ENUMS---//////////////////////
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////---FUNCTIONS---///////////////////////////
|
||||
/**
|
||||
* @brief Initialize SPI with SPI_SettingsTypeDef structure.
|
||||
* @param sspi - указатель на структуру с настройками SPI.
|
||||
* @return HAL status.
|
||||
* @note Данная структура содержит хендл ЮАРТ и настройки перефирии (GPIO)
|
||||
*/
|
||||
HAL_StatusTypeDef SPI_Base_Init(SPI_SettingsTypeDef *sspi);
|
||||
/**
|
||||
* @brief Initialize GPIO for SPI.
|
||||
* @param GPIOx - порт для настройки.
|
||||
* @param GPIO_PIN_RX - пин для настройки на прием.
|
||||
* @param GPIO_PIN_TX - пин для настройки на передачу.
|
||||
*/
|
||||
void SPI_GPIO_Init(SPI_SettingsTypeDef *sspi);
|
||||
/**
|
||||
* @brief Initialize DMA for SPI.
|
||||
* @param hspi - указатель на хендл SPI для настройки DMA.
|
||||
* @param hdma_rx - указатель на хендл DMA для линии приема SPI.
|
||||
* @param DMAChannel - указатель на канал DMA/поток DMA в STM32F407.
|
||||
* @param DMA_CHANNEL_X - канал DMA.
|
||||
*/
|
||||
void SPI_DMA_Init(SPI_HandleTypeDef *hspi, DMA_HandleTypeDef *hdma_rx, DMA_Stream_TypeDef *DMAChannel, uint32_t DMA_CHANNEL_X);
|
||||
/**
|
||||
* @brief Initialize SPI & DMA clock and interrupt.
|
||||
* @param hspi - указатель на хендл SPI для инициализации.
|
||||
* @note Чтобы не генерировать функцию с иницилизацией неиспользуемых SPI,
|
||||
дефайнами определяются используемые SPI.
|
||||
*/
|
||||
void SPI_MspInit(SPI_HandleTypeDef *hspi);
|
||||
/**
|
||||
* @brief Deinitialize SPI & DMA clock and interrupt.
|
||||
* @param hspi - указатель на хендл SPI для деинициализации.
|
||||
* @note Чтобы не генерировать функцию с деиницилизацией неиспользуемых SPI,
|
||||
дефайнами в rs_message.h определяются используемые SPI.
|
||||
*/
|
||||
void SPI_MspDeInit(SPI_HandleTypeDef *hspi);
|
||||
|
||||
/**
|
||||
* @brief Check that spi init structure have correct values.
|
||||
* @param sspi - указатель на структуру с настройками SPI.
|
||||
* @return HAL status.
|
||||
*/
|
||||
HAL_StatusTypeDef Check_SPI_Init_Struct(SPI_SettingsTypeDef *sspi);
|
||||
///////////////////////////---FUNCTIONS---///////////////////////////
|
||||
|
||||
#endif // __SPI_GENERAL_H_
|
||||
Reference in New Issue
Block a user