STM32 / I2C |
![]() |
![]() |
| Векторизован | Си | |
в палитре | на схеме |
Блок "Запись в память" производит запись данных по I2C интерфейсу в EEPROM.
Блок записывает данные в EEPROM по заданному адресу памяти. Для посылки используется функция библиотеки CubeHAL: HAL_I2C_Mem_Write ().
Название | Имя | Описание | По умолчанию |
---|---|---|---|
Адрес опрашиваемого устройства | I2C_SLAVE_ADDR | Адрес ведомого устройства, если адрес 7 бит, то он должен быть смещен влево | 0 |
Адрес памяти | MemAddres | Адрес памяти микросхемы куда мы хотим записать данные | 0 |
Длина данных | Size_Tx | Размер байтового массива | 4 |
Тайм аут | TimeOut | Временной интервал ожидания окончания передачи данных. Если передача не завершается в течение заданного времени ожидания, функция прерывает свое выполнение и возвращает значение HAL_TIMEOUT; в противном случае она возвращает значение HAL_OK, если не возникает других ошибок. Кроме того, мы можем передать тайм-аут, равный HAL_MAX_DELAY (0xFFFF FFFF), чтобы неопределенно долго ждать завершения передачи. | 10 |
Выбор контроллера I2C | I2C_NUM | Выбор контроллера (I2C1, I2C2, I2C3) | I2C1 | I2C2 | I2C3 |
Изменение адреса | MemAddSize | Изменение адреса для записи следующего элемента массива расположенного на устройстве (I2C_MEMADD_SIZE_16BIT или I2C_MEMADD_SIZE_8BIT) | I2C_MEMADD_SIZE_8BIT | I2C_MEMADD_SIZE_16BIT |
Количество попыток обращения к устройству | Trials | Максимальное количество попыток опроса Trials перед возвратом условия ошибки | 10 |
Блок не имеет параметров.