9 #include "fsl_common.h" 10 #include "fsl_debug_console.h" 12 #if defined(SDK_I2C_BASED_COMPONENT_USED) && SDK_I2C_BASED_COMPONENT_USED 13 #include "fsl_lpi2c.h" 25 CLOCK_SetIpSrc(kCLOCK_Lpuart0, kCLOCK_IpSrcFircAsync);
31 #if defined(SDK_I2C_BASED_COMPONENT_USED) && SDK_I2C_BASED_COMPONENT_USED 32 void BOARD_LPI2C_Init(LPI2C_Type *base, uint32_t clkSrc_Hz)
34 lpi2c_master_config_t lpi2cConfig = {0};
46 LPI2C_MasterGetDefaultConfig(&lpi2cConfig);
47 LPI2C_MasterInit(base, &lpi2cConfig, clkSrc_Hz);
50 status_t BOARD_LPI2C_Send(LPI2C_Type *base,
51 uint8_t deviceAddress,
53 uint8_t subAddressSize,
60 reVal = LPI2C_MasterStart(base, deviceAddress, kLPI2C_Write);
61 if (kStatus_Success == reVal)
63 while (LPI2C_MasterGetStatusFlags(base) & kLPI2C_MasterNackDetectFlag)
67 reVal = LPI2C_MasterSend(base, &subAddress, subAddressSize);
68 if (reVal != kStatus_Success)
73 reVal = LPI2C_MasterSend(base, txBuff, txBuffSize);
74 if (reVal != kStatus_Success)
79 reVal = LPI2C_MasterStop(base);
80 if (reVal != kStatus_Success)
89 status_t BOARD_LPI2C_Receive(LPI2C_Type *base,
90 uint8_t deviceAddress,
92 uint8_t subAddressSize,
98 reVal = LPI2C_MasterStart(base, deviceAddress, kLPI2C_Write);
99 if (kStatus_Success == reVal)
101 while (LPI2C_MasterGetStatusFlags(base) & kLPI2C_MasterNackDetectFlag)
105 reVal = LPI2C_MasterSend(base, &subAddress, subAddressSize);
106 if (reVal != kStatus_Success)
111 reVal = LPI2C_MasterRepeatedStart(base, deviceAddress, kLPI2C_Read);
112 if (reVal != kStatus_Success)
117 reVal = LPI2C_MasterReceive(base, rxBuff, rxBuffSize);
118 if (reVal != kStatus_Success)
123 reVal = LPI2C_MasterStop(base);
124 if (reVal != kStatus_Success)
132 void BOARD_Accel_I2C_Init(
void)
137 status_t BOARD_Accel_I2C_Send(uint8_t deviceAddress, uint32_t subAddress, uint8_t subaddressSize, uint32_t txBuff)
139 uint8_t
data = (uint8_t)txBuff;
144 status_t BOARD_Accel_I2C_Receive(
145 uint8_t deviceAddress, uint32_t subAddress, uint8_t subaddressSize, uint8_t *rxBuff, uint8_t rxBuffSize)
147 return BOARD_LPI2C_Receive(
BOARD_ACCEL_I2C_BASEADDR, deviceAddress, subAddress, subaddressSize, rxBuff, rxBuffSize);
#define BOARD_ACCEL_I2C_CLOCK_FREQ
#define BOARD_DEBUG_UART_CLK_FREQ
#define BOARD_DEBUG_UART_BAUDRATE
#define BOARD_ACCEL_I2C_BASEADDR
uint8_t data[FXLS8962_DATA_SIZE]
#define BOARD_DEBUG_UART_INSTANCE
void BOARD_InitDebugConsole(void)
#define BOARD_DEBUG_UART_TYPE