Mercurial > public > ostc4
view Small_CPU/Inc/spi.h @ 220:e524a824d8f2 Improve_IPC_Sync
Added schedule point for functions executed once in a second
SPI communication takes place every 100ms triggered by the master (main). Synchronisation is done using the SPI RX complete callback which is called ~4ms after communication was started. In the previous implementation this could happen in parallel to usage of data. To solve this potential problem the execution of functions called once a second was moved from 1000ms to 980ms giving a 20ms window for execution.
author | ideenmodellierer |
---|---|
date | Sun, 31 Mar 2019 15:49:47 +0200 |
parents | 8117802894a4 |
children | b3685fbada3b |
line wrap: on
line source
/** ****************************************************************************** * @file spi.h * @author heinrichs weikamp gmbh * @version V0.0.1 * @date 16-Sept-2014 * @brief Header file for spi control ****************************************************************************** * @attention * * <h2><center>© COPYRIGHT(c) 2014 heinrichs weikamp</center></h2> * ****************************************************************************** */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef SPI_H #define SPI_H #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/ #include "stm32f4xx_hal.h" extern SPI_HandleTypeDef hspi1; void MX_SPI1_Init(void); //void SPI_Start_single_TxRx_with_Master_and_Stop_ChipSelectControl(void); void SPI_Start_single_TxRx_with_Master(void); void SPI_synchronize_with_Master(void); void SPI_Evaluate_RX_Data(void); /*process the data received during last 100ms cycle */ void MX_SPI_DeInit(void); /* button adjust */ void MX_SPI3_Init(void); void MX_SPI3_DeInit(void); uint8_t SPI3_ButtonAdjust(uint8_t *arrayInput, uint8_t *arrayOutput); void MX_SPI_DeInit(void); #ifdef __cplusplus } #endif #endif /* SPI_H */ /** * @} */ /** * @} */ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/