Здравствуйте. Нужно разобраться с принципом работы интерфейса I2C на Stm32. понимаю, что материала в интернете много, но почему-то даже просто структура, где определяются параметры, у меня другая.
Моя вот такая:
typedef struct
{
uint32_t I2C_Timing;
uint32_t I2C_AnalogFilter;
uint32_t I2C_DigitalFilter;
uint32_t I2C_Mode;
uint32_t I2C_OwnAddress1;
uint32_t I2C_Ack;
uint32_t I2C_AcknowledgedAddress;
}I2C_InitTypeDef;
Те, что даются в примерах, в статьях, такая:
typedef struct
{
uint32_t I2C_ClockSpeed;
uint16_t I2C_Mode;
uint16_t I2C_DutyCycle;
uint16_t I2C_OwnAddress1;
uint16_t I2C_Ack;
uint16_t I2C_AcknowledgedAddress;
}I2C_InitTypeDef;
Найдя пример на этом форуме (https://forum.cxem.net/index.php?/topic/202586-i2c-%D0%B2-stm32f030/) увидел, что используются параметры такие же, что и у меня, но теперь не понятно, откуда такие значения берут и по какой логике.
Прошу не пинать ногами и кидать в меня гнилые помидоры, а помочь разобраться в этом всём или подсказать, где можно найти исчерпывающую информацию, где хорошо и по полочкам всё разложено.
Программирую в keil uVision v5
Отладочная плата stm32f0 disco
МК stm32f0030r8
Благодарю заранее.