batson 0 24 мая, 2017 Опубликовано 24 мая, 2017 · Жалоба контроллер STM32F410RBT6 в датащите указано наличие в нем I2C4 на ногах PC6 и PC7, указан его бит включения в RCC т.е. он как бы есть, но в файле stm32f4xx.h базовые адреса только для I2C1 I2C2 и I2C3 кто мне скажет где искать базовый адрес I2C4? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 24 мая, 2017 Опубликовано 24 мая, 2017 · Жалоба кто мне скажет где искать базовый адрес I2C4? Обычно базовые адреса есть в даташите или юзермануале. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
batson 0 24 мая, 2017 Опубликовано 24 мая, 2017 · Жалоба да нашел, придется вписывать все ручками. но прикола с этим портом я не понял, либа вроди та, взята с сайта ST Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 24 мая, 2017 Опубликовано 24 мая, 2017 · Жалоба но прикола с этим портом я не понял, либа вроди та, взята с сайта ST не успели обновить. Вам повезло, что даташит обновили раньше хидера. Бывает наоборот. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
batson 0 27 мая, 2017 Опубликовано 27 мая, 2017 · Жалоба базовый адрес прописал, остальные константы прописал, все проверил по сто раз что этому порту опять не нравится? инит: GPIOC->MODER &= ~GPIO_MODER_MODER6; GPIOC->MODER &= ~GPIO_MODER_MODER7; GPIOC->MODER |= GPIO_MODER_MODER6_1; GPIOC->MODER |= GPIO_MODER_MODER7_1; GPIOC->OTYPER |= GPIO_OTYPER_OT_6; GPIOC->OTYPER |= GPIO_OTYPER_OT_7; GPIOC->OSPEEDR|=(GPIO_OSPEEDER_OSPEEDR6_1 | GPIO_OSPEEDER_OSPEEDR7_1); GPIOC->AFR[0] |= (0x04 << (6 * 4)); GPIOC->AFR[0] |= (0x04 << (7 * 4)); RCC->APB1ENR |= RCC_APB1ENR_I2C4EN; I2C4->CR2 = 24; I2C4->CCR = 50; I2C4->TRISE = 10 + 1; I2C4->CR1 |= I2C_CR1_PE; while ((I2C4->CR1 & I2C_CR1_PE) == 0){};// специально добавил для проверки, проходит зависает на: void i2c_send_start(void) { I2C4->CR1 |= I2C_CR1_START; while(!(I2C4->SR1 & I2C_SR1_SB)){};// тут виснет } I2C4 работает у всех и я один такой? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
batson 0 28 мая, 2017 Опубликовано 28 мая, 2017 · Жалоба вскрытие показало что нет записи в CCR и TRISE, там нули при считывании Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
batson 0 28 мая, 2017 Опубликовано 28 мая, 2017 · Жалоба сам спросил, сам отвечу по адресам I2C4 в STM32F410RB живет FMPI2C, с ним надо общаться по другому Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexRayne 7 29 мая, 2017 Опубликовано 29 мая, 2017 · Жалоба сам спросил, сам отвечу по адресам I2C4 в STM32F410RB живет FMPI2C, с ним надо общаться по другому А это что за зверь? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 30 29 мая, 2017 Опубликовано 29 мая, 2017 · Жалоба А это что за зверь? I2C тот, что до мегабита. FastModePlus Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
batson 0 29 мая, 2017 Опубликовано 29 мая, 2017 · Жалоба да, высокоскоростной i2c, у него другой набор регистров если у кого есть примеры работы с ним киньте пример работы и инита Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться