/** ****************************************************************************** * @file spi.h * @author AMG Energy Solution Team * @version V1.0.0 * @date 07-Feb-2022 * @brief This file provides all the headers of the spi communication. ****************************************************************************** * @attention * * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. * *

© COPYRIGHT 2022 AMG

****************************************************************************** */ /** @addtogroup mBMS2 * @{ */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __SPI_H #define __SPI_H /* Includes ------------------------------------------------------------------*/ #include "hc32_ddl.h" /* Exported types ------------------------------------------------------------*/ /* Exported defines ----------------------------------------------------------*/ /* SPI_NSS Port/Pin definition */ #define SPI_NSS_PORT (PortB) #define SPI_NSS_PIN (Pin12) #define SPI_NSS_HIGH() (PORT_SetBits(SPI_NSS_PORT, SPI_NSS_PIN)) #define SPI_NSS_LOW() (PORT_ResetBits(SPI_NSS_PORT, SPI_NSS_PIN)) /* SPI unit and clock definition */ #define SPI_UNIT (M4_SPI3) #define SPI_UNIT_CLOCK (PWC_FCG1_PERIPH_SPI3) /* FLASH parameters */ #define FLASH_PAGE_SIZE (0x100u) #define FLASH_SECTOR_SIZE (0x1000u) #define FLASH_MAX_ADDR (0x800000ul) #define FLASH_DUMMY_BYTE_VALUE (0xffu) #define FLASH_BUSY_BIT_MASK (0x01u) /* FLASH instruction */ #define FLASH_INSTR_WRITE_ENABLE (0x06u) #define FLASH_INSTR_PAGE_PROGRAM (0x02u) #define FLASH_INSTR_STANDARD_READ (0x03u) #define FLASH_INSTR_ERASE_4KB_SECTOR (0x20u) #define FLASH_INSTR_READ_SR1 (0x05u) /* Exported constants --------------------------------------------------------*/ /* Exported macro ------------------------------------------------------------*/ /* Exported functions ------------------------------------------------------- */ void Spi_Config(void); uint8_t SpiFlash_WriteReadByte(uint8_t u8Data); //SPI bus read/write bytes #endif /*******************(C)COPYRIGHT 2022 AMG ********************END OF FILE******/