Jump to content

Recommended Posts

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

Share this post


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

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

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

Edited by Zendilor

Share this post


Link to post
Share on other sites

Изготовление 2-х слойных плат от 2$, а 4-х слойных от 5$!

Быстрое изготовление прототипа платы всего за 24 часа! Прямая доставка с нашей фабрики!

Смотрите видео о фабрике JLCPCB: https://youtu.be/_XCznQFV-Mw

Посетите первую электронную выставку JLCPCB https://jlcpcb.com/E-exhibition чтобы получить купоны и выиграть iPhone 12, 3D-принтер и так далее...

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

Share this post


Link to post
Share on other sites

Высокая надежность SiC! Как они этого добились?

За несколько лет кропотливых исследований и совершенствования технологии компания Infineon смогла довести показатели надежности и стабильности параметров высоковольтных и быстродействующих карбид-кремниевых транзисторов линейки CoolSiC практически до уровня их кремниевых собратьев.

Подробнее

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

Вебинар «Практическое использование TrustZone в STM32L5»(10.12.2020)

Приглашаем на вебинар, посвященный экосистеме безопасности и возможностях, которые появились у разработчиков благодаря новой технологии TrustZone в микроконтроллерах STM32L5. Программа рассчитана на технических специалистов и тех, кто уже знаком с основами защиты ПО в STM32.

Подробнее

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

 

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

Share this post


Link to post
Share on other sites

Снижена цена на AC/DC и DC/DC преобразователи Mornsun в Компэл!

Компэл и компания Mornsun снизили цены на преобразователи AC/DC-преобразователи семейств LS и LDE. По привлекательной цене также предлагаются DC/DC-преобразователи изолированных семейств поколений R2 и R3 различного конструктивного исполнения.

Подробнее

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
Posted (edited)
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
Posted (edited)

Что такого крутого ты делаешь, что тебе не хватает возможностей 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...

  • Сообщения


  • Модуль приемопередатчика LoRa SX1278, UART, 433 МГц, 1 Вт (30 дБм), дальность до 8км

×
×
  • Create New...