Я работаю над проектом, в котором мне нужно установить STM32L152RDT6 в качестве ведомого устройства с I2C, но я не могу его получить.Я попробовал это, но это не удалось:
HAL_I2C_SlaveRxCpltCallback(&hi2c1);
I2C_HandleTypeDef hi2c1;
uint8_t aRxBuffer[1];
uint8_t aTxBuffer[] = " ****I2C_TwoBoards communication based on Polling**** ****I2C_TwoBoards communication based on Polling**** ****I2C_TwoBoards communication based on Polling**** ";
if(HAL_I2C_Slave_Receive(&hi2c1, (uint8_t *)aRxBuffer, 1, 10000) != HAL_OK)
{
/* Transfer error in reception process */
Error_Handler();
}
else{
printf("succeed\n");
printf("I2C data: %d ",aRxBuffer[0]);
}
void HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *I2cHandle)
{
/* Turn LED6 on: Transfer in reception process is correct */
printf("Amazing\n");
}
Мне нужен пример, который устанавливает STM32 в качестве ведомого устройства с I2C, используя библиотеку HAL, пожалуйста.
Большое спасибо !!