refactored spi code

This commit is contained in:
Robin Müller 2021-06-03 16:12:36 +02:00
parent 72aa8fec69
commit 55218227bb
No known key found for this signature in database
GPG Key ID: 71B58F8A3CDFA9AC
4 changed files with 20 additions and 41 deletions

View File

@ -36,13 +36,13 @@
#define SPIx_RX_DMA_REQUEST DMA_REQUEST_SPI1_RX
/* Definition for SPIx's NVIC */
#define SPIx_DMA_TX_IRQn DMA2_Stream3_IRQn
#define SPIx_DMA_RX_IRQn DMA2_Stream2_IRQn
#define SPIx_DMA_TX_IRQn DMA2_Stream3_IRQn
#define SPIx_DMA_TX_IRQHandler DMA2_Stream3_IRQHandler
#define SPIx_DMA_RX_IRQHandler DMA2_Stream2_IRQHandler
#define SPIx_DMA_TX_IRQHandler DMA2_Stream3_IRQHandler
#define SPIx_IRQn SPI1_IRQn
#define SPIx_IRQHandler SPIx_IRQHandler
#define SPIx_IRQHandler SPI1_IRQHandler
#endif /* FSFW_HAL_STM32H7_DEVICETEST_SPICONF_H_ */

View File

@ -1,6 +1,8 @@
#include "spiConf.h"
#include "fsfw_hal/stm32h7/spi/spiCore.h"
#include "fsfw_hal/stm32h7/dma_interrupts.h"
#include "fsfw_hal/stm32h7/spi/interrupts.h"
#include "stm32h743xx.h"
#include "stm32h7xx_hal_spi.h"
@ -9,6 +11,9 @@
#include <stdio.h>
void dma_rx_irq_handler(void* dma_handle);
void dma_tx_irq_handler(void* dma_handle);
void spi1_irq_handler(void* spi_handle);
/**
* @brief SPI MSP Initialization
@ -110,16 +115,22 @@ void HAL_SPI_MspInit(SPI_HandleTypeDef *hspi)
__HAL_LINKDMA(hspi, hdmarx, *hdma_rx);
/*##-4- Configure the NVIC for DMA #########################################*/
/* NVIC configuration for DMA transfer complete interrupt (SPI1_TX) */
HAL_NVIC_SetPriority(SPIx_DMA_TX_IRQn, 1, 1);
HAL_NVIC_EnableIRQ(SPIx_DMA_TX_IRQn);
/* NVIC configuration for DMA transfer complete interrupt (SPI1_RX) */
// Assign the interrupt handler
assign_dma_user_handler(DMA_2, 2, &dma_rx_irq_handler, hdma_rx);
HAL_NVIC_SetPriority(SPIx_DMA_RX_IRQn, 1, 0);
HAL_NVIC_EnableIRQ(SPIx_DMA_RX_IRQn);
/* NVIC configuration for DMA transfer complete interrupt (SPI1_TX) */
// Assign the interrupt handler
assign_dma_user_handler(DMA_2, 3, &dma_tx_irq_handler, hdma_tx);
HAL_NVIC_SetPriority(SPIx_DMA_TX_IRQn, 1, 1);
HAL_NVIC_EnableIRQ(SPIx_DMA_TX_IRQn);
/*##-5- Configure the NVIC for SPI #########################################*/
/* NVIC configuration for SPI transfer complete interrupt (SPI1) */
// Assign the interrupt handler
assign_spi_user_handler(SPI_1, &spi1_irq_handler, hspi);
HAL_NVIC_SetPriority(SPIx_IRQn, 1, 0);
HAL_NVIC_EnableIRQ(SPIx_IRQn);
}
@ -137,8 +148,6 @@ void HAL_SPI_MspDeInit(SPI_HandleTypeDef *hspi)
{
if(hspi->Instance == SPIx)
{
/*##-1- Reset peripherals ##################################################*/
SPIx_FORCE_RESET();
SPIx_RELEASE_RESET();
@ -173,33 +182,3 @@ void HAL_SPI_MspDeInit(SPI_HandleTypeDef *hspi)
HAL_NVIC_EnableIRQ(SPIx_IRQn);
}
}
///**
// * @brief This function handles DMA Rx interrupt request.
// * @param None
// * @retval None
// */
//void SPIx_DMA_RX_IRQHandler(void)
//{
// HAL_DMA_IRQHandler(getSpiHandle()->hdmarx);
//}
//
///**
// * @brief This function handles DMA Tx interrupt request.
// * @param None
// * @retval None
// */
//void SPIx_DMA_TX_IRQHandler(void)
//{
// HAL_DMA_IRQHandler(getSpiHandle()->hdmatx);
//}
//
///**
// * @brief This function handles SPIx interrupt request.
// * @param None
// * @retval None
// */
//void SPIx_IRQHandler(void)
//{
// HAL_SPI_IRQHandler(getSpiHandle());
//}

@ -1 +1 @@
Subproject commit 78a66e1b677ae0daa532db222ecdd0097c01399a
Subproject commit abe62d807a887d5d44df7245639f211425af15d6

View File

@ -33,7 +33,7 @@
<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="3333"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="false"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="false"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsFileName" value=""/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.symbolsOffset" value=""/>