Jump to content

Recommended Posts

Доброго дня.
Пытаюсь научиться работать с интерфейсом I2C в мк STM32f407, но никак не могу разобраться с порядком команд при отправке / приеме битов(не очень понятно с чего там все начинается, какие регистры надо проверять чтобы можно было что то отправлять / принимать, бит АСK вообще загадка, даташит как то не сильно помогает), если кто сможет скинуть код с отправкой / приемом данных по шине I2C только с помощью CMSIS и прокомментирует последовательность, буду очень благодарен.

Share this post


Link to post
Share on other sites
23.06.2020 в 16:05, Валентин Паскаль сказал:

Доброго дня.
Пытаюсь научиться работать с интерфейсом I2C в мк STM32f407, но никак не могу разобраться с порядком команд при отправке / приеме битов(не очень понятно с чего там все начинается, какие регистры надо проверять чтобы можно было что то отправлять / принимать, бит АСK вообще загадка, даташит как то не сильно помогает), если кто сможет скинуть код с отправкой / приемом данных по шине I2C только с помощью CMSIS и прокомментирует последовательность, буду очень благодарен.

Не на тот камень но очень похоже.

Edited by Zendilor

Share this post


Link to post
Share on other sites

Начните с изучения интерфейса I2c потом уже в регистры микроконтроллера лезть. Тогда будет все понятно.

Share this post


Link to post
Share on other sites

Вебинар «Решения Analog Devices для гальванической изоляции. Обзор технологий и новинок» (27.04.2021)

Компания «Компэл» и Analog Devices приглашают всех желающих 27/04/2021 принять участие в вебинаре, посвященном решениям Analog Devices для гальванической изоляции. В программе вебинара: технологии гальванической изоляции iCoupler, цифровые изоляторы, изолированное питание и технология isoPower, гальванически изолированные интерфейсы (RS-485, CAN, USB, I2C, LVDS) и другое.

Подробнее

23.06.2020 в 15:05, Валентин Паскаль сказал:

порядком команд при отправке / приеме битов

Это все описано в reference manual на f4, начиная с раздела I2C master mode. Прям вот по шагам все описано. То, что надо записать в регистр скорости, генерирует куб.

 

23.06.2020 в 15:05, Валентин Паскаль сказал:

бит АСK вообще загадка

А это описано в документации на сам интерфейс, коей полно в инете, даже на русском языке.

 

23.06.2020 в 15:05, Валентин Паскаль сказал:

если кто сможет скинуть код с отправкой / приемом данных по шине I2C только с помощью CMSIS и прокомментирует последовательность

100$.

Share this post


Link to post
Share on other sites

Пружинные клеммники Degson - высокое качество соединения по оптимальной цене!

Пружинные клеммные блоки Degson для монтажа на печатную плату – это простое и надежное соединение, которое позволяет легко решать задачи для различных приложений за счет обширного ассортимента. Клеммники Degson доступны в двух конструктивных исполнениях (торцевой контакт и зажимная клеть), имеют различные направления ввода проводника (45°, 90°, 180°) и обладают широким диапазоном поперечных сечений (0,2…2,5 мм2).

Подробнее

Меня интересует не код.Принцип настройки I2C

 

поэтапно как это выглядит.?

Share this post


Link to post
Share on other sites

Новое семейство ИП от MEAN WELL мощностью 150, 300, 600 Вт с повышенной перегрузочной способностью

Компания MEAN WELL разработала семейство источников питания номинальной мощностью 150, 300 и 600 Вт с возможностью кратковременной безопасной работы при мощности в 2,5 раза выше номинальной (до 5 секунд). Данное семейство источников питания востребовано в промышленных установках с использованием электродвигателей или с емкостной нагрузкой. Применяя новые источники питания HRP/N можно получить экономический выигрыш.

Подробнее

I2C2->CR1 = I2C_CR1_ACK; Меня интересует вот этот бит где и когда он устанаваливается?

Я чего то о нём ничего не понял?

 

Share this post


Link to post
Share on other sites
2 часа назад, Ivan Rusev сказал:

Меня интересует вот этот бит где и когда он устанаваливается?

Это находится в следующем разделе, где про чтение данных написано. Неужели так трудно прочесть? Плюс прочти уже наконец что такое ACK и NACK в I2C.

Share this post


Link to post
Share on other sites
17.08.2020 в 17:03, BARS_ сказал:

Это все описано в reference manual на f4, начиная с раздела I2C master mode. Прям вот по шагам все описано. То, что надо записать в регистр скорости, генерирует куб.

 

А это описано в документации на сам интерфейс, коей полно в инете, даже на русском языке.

 

100$.

200долларов кто больше.

17.08.2020 в 21:19, BARS_ сказал:

Это находится в следующем разделе, где про чтение данных написано. Неужели так трудно прочесть? Плюс прочти уже наконец что такое ACK и NACK в I2C.

Кстати я не увидел при чтении мастера рестарт хотя он должен быть.

Share this post


Link to post
Share on other sites
04.10.2020 в 12:25, Zhuk72 сказал:

Рестарт - это повторный старт.

В референс мануцал в режиме мастера при чтении.Нет рестарта в 7 битном  адресе.А в 10 битном  есть.?

Share this post


Link to post
Share on other sites
03.10.2020 в 17:08, Ivan Rusev сказал:

при чтении мастера рестарт

Его там и не будет. Рестарт предполагается спецификацией I2C конкретного устройства, которую ты до сих пор не прочел. Обычно, сначала производится ЗАПИСЬ адреса регистра, потом рестарт, а потом уже ЧТЕНИЕ данных из регистров. В референсе же тебе нарисовали работу мастера в общих чертах, показав, что после КАЖДОЙ передачи адреса в 7-битном режиме мастер переходит в режим чтения;:image.png.f6299232600d2ccf95cfd8a8e43604a6.png 

А вот в 10-битом режиме для этого надо сделать рестарт:

image.png.76518af055ad4b7218a6e5d132156349.png

Остальное определяет алгоритм работы шины конкретного слейва.

Edited by BARS_

Share this post


Link to post
Share on other sites

@Ivan Rusev Зачем себя насиловать AVR что больше не продают? Как говорят американцы... играй в своей лиге)) Или читай документацию, и не пиши сюда ерунду. 

Share this post


Link to post
Share on other sites
1 час назад, BARS_ сказал:

Его там и не будет. Рестарт предполагается спецификацией I2C конкретного устройства, которую ты до сих пор не прочел. Обычно, сначала производится ЗАПИСЬ адреса регистра, потом рестарт, а потом уже ЧТЕНИЕ данных из регистров. В референсе же тебе нарисовали работу мастера в общих чертах, показав, что после КАЖДОЙ передачи адреса в 7-битном режиме мастер переходит в режим чтения;:image.png.f6299232600d2ccf95cfd8a8e43604a6.png 

А вот в 10-битом режиме для этого надо сделать рестарт:

image.png.76518af055ad4b7218a6e5d132156349.png

Остальное определяет алгоритм работы шины конкретного слейва.

EV6: ADDR = 1, очищается чтением регистра SR1 с последующим чтением SR2. В 10-битном режиме ведущего приемника за этой последовательностью следует записать CR2 с START = 1.Ну и перевод вот он .И что тут написано

34 минуты назад, MasterElectric сказал:

@Ivan Rusev Зачем себя насиловать AVR что больше не продают? Как говорят американцы... играй в своей лиге)) Или читай документацию, и не пиши сюда ерунду. 

Какие же вы злые.Умные и безцеремонные.Нельзя так.Если у вас опыта больше это не даёт вам право меня футболить. AVR-прошлое.

Share this post


Link to post
Share on other sites

Что такого крутого ты делаешь, что тебе не хватает возможностей AVR?

Edited by Zhuk72

Share this post


Link to post
Share on other sites

Дань моде и не дает возможности работать с AVR. Сейчас не модно с "динозаврами" работать. Считается лучше говнокодить на крутом камне, чем создать толковую прошивку на "старье". Это как с обновлениями. Не важно, что задница отвалится или АКБ сдохнет за сутки. Главное - последняя версия ПО (или "железа").

Share this post


Link to post
Share on other sites
21 час назад, Ivan Rusev сказал:

И что тут написано

Прочти ВНИМАТЕЛЬНО мое предыдущее сообщение. Хватит тупить!

 

13 часов назад, Zhuk72 сказал:

возможностей AVR?

Я бы не сказал, что настроить I2C в STM32 вот прям сильно сложнее, чем в AVR. По сути задать скорость и выбрать режим работы. Автор просто упорно не желает открыть описание самого I2C и вникнуть в его работу. А без понимания работы интерфейса пытаться его настроить и запустить занятие бессмысленное.

 

21 час назад, Ivan Rusev сказал:

Если у вас опыта больше это не даёт вам право меня футболить.

Тебе же наличие меньшего опыта дает право беспробудно тупить.

 

21 час назад, Ivan Rusev сказал:

AVR-прошлое.

Да что ты говоришь. А нахрена тебе ARM ядро? Будешь на дисплее крутой графический интерфейс рисовать? А может обрабатывать потоки данных? Может тебе сразу Intel ставить? Открою тебе страшную тайну, 8-битные МК очень широко используются по сей день. AVR, PIC, Silab, Cypress и т.п. Причем используются в серийно выпускаемой технике. Элементная база выбирается исходя из задачи.

Share this post


Link to post
Share on other sites
1 час назад, BARS_ сказал:

Прочти ВНИМАТЕЛЬНО мое предыдущее сообщение. Хватит тупить!

 

Я бы не сказал, что настроить I2C в STM32 вот прям сильно сложнее, чем в AVR. По сути задать скорость и выбрать режим работы. Автор просто упорно не желает открыть описание самого I2C и вникнуть в его работу. А без понимания работы интерфейса пытаться его настроить и запустить занятие бессмысленное.

 

Тебе же наличие меньшего опыта дает право беспробудно тупить.

 

Да что ты говоришь. А нахрена тебе ARM ядро? Будешь на дисплее крутой графический интерфейс рисовать? А может обрабатывать потоки данных? Может тебе сразу Intel ставить? Открою тебе страшную тайну, 8-битные МК очень широко используются по сей день. AVR, PIC, Silab, Cypress и т.п. Причем используются в серийно выпускаемой технике. Элементная база выбирается исходя из задачи.

я не русский мне простительно.А вы накинулись на меня как коршуны на мясо.

Гагаузы хуже молдован.И круче циган.

Share this post


Link to post
Share on other sites
3 минуты назад, Ivan Rusev сказал:

я не русский мне простительно

Национальность как-то влияет на развитие мозга или сообразительность? Или разрешает тупить?

Share this post


Link to post
Share on other sites
07.10.2020 в 23:34, BARS_ сказал:

Национальность как-то влияет на развитие мозга или сообразительность? Или разрешает тупить?

Есть понятие то что реально есть.А есть понятие симуляция.Не судите .

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • Скорей всего, под "реле" имеется в виду голая плата приёмника, без исполнительного реле. Тогда всё сходится.
    • Непонятно, зачем тут целая батарея конденсаторов, функция у них какая? Стабилизаторы типа 78хх так просто нельзя параллелить, т.к. у них имеется значительный технологический разброс параметров. Хотя, у мамкиных ютуберных самодельщиков "всё работает". И зачем PWM контроллёру стабилизированное напряжение, он, что, не умеет работать с СБ? Ну, и про КПД выше написали уже.
    • Штучка называется "Конституция, Закон о защите прав потребителей, федеральные законы и т.п.". В зависимости от государства, названия и номера статей могут изменяться, но всё это имеется в свободном доступе, и при желании, легко находится. Покупать ничего не надо.  Рекомендую ознакомится с этими документами в частях, касающихся фото - видеосъёмки в общественных местах, определений "общественное место", "коммерческая тайна", "интеллектуальная собственность" и не заниматься всякой хернёй.
    • В общих чертах, транзисторы с помощью мАлого тока управляют бОльшим. Вам для начала необходимо почитать, что такое транзистор. Там будет ответ на ваши вопросы. На "схеме", вероятно, транзисторы. Вероятно также, что "схема" срисована неправильно. А зачем вам, несварщику,  это знать? 
    • А чего ты ждал? Тупо врёшь в глаза, ничего ты не искал по вопросу.
    • Аналогов много   Цель какая?   Для чего? И как это к теме относится или я пропустил что то?
×
×
  • Create New...