Здравствуйте.
Как через шину I2C наладить передачу данных между STM32F303RE (Nucleo) и AD7746(EVAL-AD7746EBZ) в режиме прерываний? Первый мастер, второй слейв.
Я, к слову, попытался послать запрос и, получив ответ, мигнуть диодом, но что-то не срослось. Подобный подход нашел в конце 364й страницы Description of STM32F3 HAL and Low-layer drivers.
Прерывания через CubeMX для I2C включил. К правильным пинам подсоединил.
Заранее спасибо.
uint8_t aTxBuffer[] = " ****I2C_TwoBoards communication based on IT**** ****I2C_TwoBoards communication based on IT**** ****I2C_TwoBoards communication based on IT**** ";
void HAL_I2C_Master_Transmit_IT(&hi2c3, 0x90, &aTxBuffer, 32)
{
}
void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *I2cHandle)
{
if (HAL_I2C_Master_Receive_IT(&hi2c3, 0x90, &aTxBuffer, 32) == HAL_OK)
{
HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
HAL_Delay(100);
}
}