Например TDA7294

Форум РадиоКот • Просмотр темы - stm32Ldiscovery - L152RB i2с slave mode конфигурация порта
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вс сен 29, 2024 02:21:59

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: stm32Ldiscovery - L152RB i2с slave mode конфигурация порта
СообщениеДобавлено: Вс окт 26, 2014 13:34:25 
Встал на лапы

Зарегистрирован: Ср фев 05, 2014 18:54:39
Сообщений: 118
Рейтинг сообщения: 0
здравствуйте, вообщем на 1 плате(vl-disocvery) i2c неделю назад я запустил, теперь пытаюсь сделать 2ое устройство - slave на L-DISCOVERY. Через резисторы на i2c 2ой платы подтянуто питание +3.3В всё как надо, при вкл на линии 0.Т.е. неправильно сконфигурированы выходы...делал по http://we.easyelectronics.ru/STM32/stm3 ... tenko.html
1) альтернативная функция портов
2) Output open-drain
3) Pull-up
4) скорость пытался и 2МГц и 400Кгц т.к. написано разное в инете.
5) AF4 на обоих портах
висит в 0... если отк шину то 1ая плата норм работает тут же высылает адрес...

Код:
void i2c_init()
   {
   //RCC->AHBENR  |=RCC_AHBENR_GPIOBEN;          // тактирование порт Б
   RCC->APB1ENR |=RCC_APB1ENR_I2C2EN;         // тактирование I2C2

   //GPIOB->MODER |=GPIO_MODER_MODER10_0 | GPIO_MODER_MODER11_0;           // Alternate function mode
   GPIOB->MODER |=GPIO_MODER_MODER10_1 | GPIO_MODER_MODER11_1;           // Alternate function mode
   GPIOB->OTYPER |=GPIO_OTYPER_OT_10 | GPIO_OTYPER_OT_11;             // Output open-drain
   GPIOB->OSPEEDR |=GPIO_OSPEEDER_OSPEEDR10_0 | GPIO_OSPEEDER_OSPEEDR11_0;
   GPIOB->PUPDR |=GPIO_PUPDR_PUPDR10_0 | GPIO_PUPDR_PUPDR11_0;
   GPIOB->AFRH |=(1<<10) | (1<<14);
   //GPIOB->ODR |=GPIO_ODR_ODR_10 | GPIO_ODR_ODR_11;
   I2C2->CR2 |= 2;      // делители времени итп
   I2C2->CCR |= 10;
   I2C2->TRISE = 3;

   I2C2->OAR1|=3;   // адресс

   I2C1->CR1     |= (I2C_CR1_ACK | I2C_CR1_PE); // вкл перийферию i2c

    while (!(I2C1->CR1&I2C_CR1_PE)){}
   }


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: stm32Ldiscovery - L152RB i2с slave mode конфигурация пор
СообщениеДобавлено: Вс окт 26, 2014 18:14:13 
Встал на лапы

Зарегистрирован: Ср фев 05, 2014 18:54:39
Сообщений: 118
Рейтинг сообщения: 0
запустил... вообщем была какая-то непонятка с проектом т.к. редактировал 1 файл компилировал другой, оба одинаковые...
вообщем как всегда)))
теперь будем пытаться принять хоть что-то
Код:
void i2c_init()
   {
   RCC->AHBENR|=RCC_AHBENR_GPIOBEN;          // тактирование порт Б
   RCC->APB1ENR|=RCC_APB1ENR_I2C2EN;         // тактирование I2C2

   GPIOB->MODER|=GPIO_MODER_MODER10_1 | GPIO_MODER_MODER11_1;           // Alternate function mode
   GPIOB->OTYPER|=GPIO_OTYPER_OT_10 | GPIO_OTYPER_OT_11;      // Output open-drain
   GPIOB->OSPEEDR|=GPIO_OSPEEDER_OSPEEDR10_0 | GPIO_OSPEEDER_OSPEEDR11_0;
   GPIOB->AFR[1] |=(1<<10 | 1<<14);
   GPIOB->PUPDR |=GPIO_PUPDR_PUPDR10_0 | GPIO_PUPDR_PUPDR11_0;


   // GPIOB->ODR |=GPIO_ODR_ODR_10 | GPIO_ODR_ODR_11;
   I2C2->CR2 |= 2;      // делители времени итп
   I2C2->CCR |= 10;
   I2C2->TRISE = 3;

   I2C2->OAR1|=3;   // адресс

   I2C1->CR1     |= I2C_CR1_ACK | I2C_CR1_PE; // вкл перийферию i2c

    while (!(I2C1->CR1&I2C_CR1_PE))
    {}
   }


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y