я соеденил Arduino и Stm32 по шине I2C и когда запускаю простой скетч из примера i2c_scanner ардуино его не находит. что надо сделать чтобы ардуино его увидел?
#include "stm32f1xx.h"
void I2C_Configuration(void) {
// Включение тактирования I2C1
RCC->APB1ENR |= RCC_APB1ENR_I2C1EN;
// Настройка PB6 (SCL) и PB7 (SDA) как альтернативной функции
GPIOB->CRL &= ~(GPIO_CRL_MODE6 | GPIO_CRL_CNF6 | GPIO_CRL_MODE7 | GPIO_CRL_CNF7);
GPIOB->CRL |= (GPIO_CRL_MODE6 | GPIO_CRL_MODE7); // Режим выхода 50 МГц
GPIOB->CRL |= (GPIO_CRL_CNF6_1 | GPIO_CRL_CNF7_1); // Альтернативная функция Open-Drain
// Настройка скорости передачи данных
I2C1->CR2 |= (36 << 0); // HSI (8 MHz) делится на 36 -> FREQ = 222 kHz
// Установка адреса устройства (если STM32F103 является устройством, а не мастером)
I2C1->OAR1 |= (0x30 << 1); // Адрес устройства = 0x30
// Включение I2C1
I2C1->CR1 |= I2C_CR1_PE;
}
int main(void) {
I2C_Configuration();
// Далее можно выполнять операции передачи и приема данных по шине I2C
}