реклама на сайте
подробности

 
 
5 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Легкий старт для STM32 проекта, Графический конструктор проектов
Tarbal
сообщение Nov 4 2015, 14:19
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Вот программы для семинара ST.

Апликация STM32Cube и лабораторные работы с инструкциями как пользоваться.
https://www.dropbox.com/sh/eqim95c9s2sspqn/...8vSdRW4P3a?dl=0

За час можно склепать простой проект, а потом использовать сгенерированный код для развития проекта. Лицензию на IAR IDE дадут на короткое время, но если выбрат' при генерации проекта toolchain SW4STM32, то можно обойтись бесплатными инструментами.

Из платных поддерживаются:
EWARM
MDK-ARM V4
MDK-ARM V5
TrueStudio
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Nov 5 2015, 00:41
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Видео инструкции:

https://www.youtube.com/watch?v=PqsgSVbgfBs
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Nov 5 2015, 06:23
Сообщение #3


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



под кокос видео сделайте, pls
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Nov 5 2015, 16:45
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Цитата(Огурцов @ Nov 5 2015, 10:23) *
под кокос видео сделайте, pls


Это не мое видео sm.gif Сам только начал. Изучаю и делюсь.
Go to the top of the page
 
+Quote Post
Velund
сообщение Dec 28 2015, 12:53
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 693
Регистрация: 19-11-04
Пользователь №: 1 177



QUOTE (Tarbal @ Nov 4 2015, 17:19) *
За час можно склепать простой проект, а потом использовать сгенерированный код для развития проекта.


За полдня удалось поднять "фундамент" для простенького проекта на STM32F103C8T6, но потом все наглухо уперлось в нестабильную работу I2C1... То работает, то глухо HAL (polling mode) подвисает на 10 секунд при любой операции с шиной и вываливает потом ошибку HAL_TIMEOUT. На шине пока всего один EEPROM.. Вот и в раздумьях я, а оно вообще у Cube работоспособно? wink.gif
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Dec 28 2015, 13:12
Сообщение #6


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Этого ни кто не знает, так глубоко там все упрятано - лучше spl
Кстати i2c у 103, говорят, не работает

Сообщение отредактировал Огурцов - Dec 28 2015, 13:15
Go to the top of the page
 
+Quote Post
Velund
сообщение Dec 28 2015, 13:32
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 693
Регистрация: 19-11-04
Пользователь №: 1 177



QUOTE (Огурцов @ Dec 28 2015, 16:12) *
Этого ни кто не знает, так глубоко там все упрятано - лучше spl
Кстати i2c у 103, говорят, не работает


Почитал Errata... Похоже нашел "мой" случай. "Порадовался"... wink.gif

2.13.7 I2C analog filter may provide wrong value, locking BUSY flag and preventing master mode entry

Description
The I2C analog filters embedded in the I2C I/Os may be tied to low level, whereas SCL and SDA lines are kept at high level. This can occur after an MCU power-on reset, or during ESD stress. Consequently, the I2C BUSY flag is set, and the I2C cannot enter master mode (START condition cannot be sent). The I2C BUSY flag cannot be cleared by the SWRST control bit, nor by a peripheral or a system reset. BUSY bit is cleared under reset, but it is set high again as soon as the reset is released, because the analog filter output is still at low level. This issue occurs randomly.


Воркараунд предложен но какой то сильно заморочанный.

А насчет отказа от I2c - сложновато это. В планах были на шине EEPROM для калибровок, плюс 16-битный ADC и пара экстендеров вынесенных на другую плату с ВЧ делами. Тянуть туда SPI нереально.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Dec 28 2015, 13:47
Сообщение #8


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Так как раз это обсуждаем - поставьте там ещё камень и общайтесь по uart
Go to the top of the page
 
+Quote Post
ANT
сообщение Dec 28 2015, 15:14
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 187
Регистрация: 22-06-04
Пользователь №: 127



Цитата(Velund @ Dec 28 2015, 15:53) *
За полдня удалось поднять "фундамент" для простенького проекта на STM32F103C8T6, но потом все наглухо уперлось в нестабильную работу I2C1... То работает, то глухо HAL (polling mode) подвисает на 10 секунд при любой операции с шиной и вываливает потом ошибку HAL_TIMEOUT. На шине пока всего один EEPROM.. Вот и в раздумьях я, а оно вообще у Cube работоспособно? wink.gif

Я довольно долго бился с их примером HAL I2C. В итоге всё стало работать стабильно после понижения частоты до 80 кГц. Кроме того, читаю и пишу кусками не менее 4 байт. Не разобрался, почему при меньших кусках возникают упомянутые Вами подвисания sad.gif.
Go to the top of the page
 
+Quote Post
Velund
сообщение Dec 28 2015, 15:50
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 693
Регистрация: 19-11-04
Пользователь №: 1 177



QUOTE (ANT @ Dec 28 2015, 18:14) *
Я довольно долго бился с их примером HAL I2C. В итоге всё стало работать стабильно после понижения частоты до 80 кГц. Кроме того, читаю и пишу кусками не менее 4 байт. Не разобрался, почему при меньших кусках возникают упомянутые Вами подвисания sad.gif.


Это видимо не тот случай (еще один баг, другой). У меня при некоторых включениях I2C вообще не запускается. Вываливается в постоянное ожидание флага готовности I2C при первом же обращении к функциям HAL. Но если запустился - работает.
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Dec 28 2015, 17:39
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



А я опять повторю, что не видел еще ни одного МК со стабильным аппаратным I2C. sm.gif
Для редкой и медленной работы (при включении чего прочитать-записать или еще когда), пригоден софтовый вариант- работает годами и не зависает и еррат не имеет. Еще софтовый вариант хорош тем, что к ногам не привязан, на любых двух удобных(свободных) пинах может быть сделан.
Go to the top of the page
 
+Quote Post
Aleksandr Barano...
сообщение Dec 28 2015, 17:43
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 169
Регистрация: 31-08-05
Из: New York
Пользователь №: 8 118



Цитата(Velund @ Dec 28 2015, 08:32) *
Тянуть туда SPI нереально.


Я думаю, речь шла не об SPI, а об SPL


--------------------
ASB
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Dec 28 2015, 19:23
Сообщение #13


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(Ruslan1 @ Dec 28 2015, 18:39) *
софтовый

А они ещё и дма обещают - вообще не понимаю как
Go to the top of the page
 
+Quote Post
mantech
сообщение Dec 28 2015, 19:36
Сообщение #14


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Ruslan1 @ Dec 28 2015, 20:39) *
пригоден софтовый вариант- работает годами и не зависает и еррат не имеет. Еще софтовый вариант хорош тем, что к ногам не привязан, на любых двух удобных(свободных) пинах может быть сделан.


Полностью согласен, софтовый имеет больше приимуществ, заметил это еще с аврок, где код инициализации и приема-передачи аппаратного был больше, чем мой, софтовый laughing.gif

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

Цитата(Огурцов @ Dec 28 2015, 22:23) *
А они ещё и дма обещают - вообще не понимаю как


Только в случае линейной передачи с автоинкрементом.
Go to the top of the page
 
+Quote Post
Velund
сообщение Dec 28 2015, 22:26
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 693
Регистрация: 19-11-04
Пользователь №: 1 177



QUOTE (Огурцов @ Dec 28 2015, 16:47) *
Так как раз это обсуждаем - поставьте там ещё камень и общайтесь по uart


Там уже ничего не поставить. Этот ВЧ модуль уже существует и кроме I2C вариантов нет. Сейчас думаю что правильнее - забить на STM32 и поставить "обкатанный" LPC1758 или все же сделать bit banging... Первое очень избыточно. Второе как то расточительно в смысле времени процессора.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Dec 28 2015, 22:45
Сообщение #16


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



поставьте здесь, хоть мегу в ногодрыге
Go to the top of the page
 
+Quote Post
murmur
сообщение Dec 28 2015, 23:29
Сообщение #17


Местный
***

Группа: Участник
Сообщений: 425
Регистрация: 30-04-11
Пользователь №: 64 708



Цитата(Velund @ Dec 28 2015, 18:50) *
Это видимо не тот случай (еще один баг, другой). У меня при некоторых включениях I2C вообще не запускается. Вываливается в постоянное ожидание флага готовности I2C при первом же обращении к функциям HAL. Но если запустился - работает.

Стесняюсь спросить - резисторы подтягивающие на линиях есть?
Go to the top of the page
 
+Quote Post
Velund
сообщение Dec 28 2015, 23:37
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 693
Регистрация: 19-11-04
Пользователь №: 1 177



QUOTE (murmur @ Dec 29 2015, 02:29) *
Стесняюсь спросить - резисторы подтягивающие на линиях есть?


Не первый день замужем. wink.gif
Логический анализатор (Zeroplus LAP-C) подцеплен к шине - нет никаких глитчей при рестарте, стабильно в единице и SCL и SDA. Посмотрел осциллографом уровень (думал просаживает что то) - нет, 3.3 вольта есть, как положено.
Go to the top of the page
 
+Quote Post
scifi
сообщение Dec 29 2015, 05:04
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Velund @ Dec 29 2015, 02:37) *
Не первый день замужем. wink.gif

Было бы так - не стали бы с кубами водиться wink.gif
Go to the top of the page
 
+Quote Post
ViKo
сообщение Dec 29 2015, 05:46
Сообщение #20


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Обращаюсь ко всем, у кого не работает аппаратный I2C. Вы прочитали руководство, документацию по ошибкам, настроили все регистры, и - не работает?? Шайтан помешал?
Go to the top of the page
 
+Quote Post
Эдди
сообщение Dec 29 2015, 05:59
Сообщение #21


Знающий
****

Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250



Цитата(ViKo @ Dec 29 2015, 08:46) *
Вы прочитали руководство, документацию по ошибкам, настроили все регистры, и - не работает?

Ардуринщики мануалы не читают. Они "скетчи" в интернете ищут.
О каком руководстве можно спрашивать в теме о всякой гадости вроде HAL/SPL/Qube?
Go to the top of the page
 
+Quote Post
Velund
сообщение Dec 29 2015, 06:52
Сообщение #22


Знающий
****

Группа: Свой
Сообщений: 693
Регистрация: 19-11-04
Пользователь №: 1 177



QUOTE (scifi @ Dec 29 2015, 08:04) *
Было бы так - не стали бы с кубами водиться wink.gif


Ну так подвернулся хороший случай на практике попробовать, так ли уж губительны эти диавольские искушения. wink.gif Получить проект с мигающим светодиодом и (на первый взгляд) рабочим USB CDC за время меньшее, чем обычно уходило на то, чтобы только разобраться по мануалам какие GPIO куда расписать. wink.gif

Надо признать, что пока если что и приведет к фиаско, то не куб, а банальная глючность конкретного камня. wink.gif К чести ST расписанная в errata (до чтения которой дошло только после того как грабли сделали свое черное дело). wink.gif
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Dec 29 2015, 07:39
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(Velund @ Dec 29 2015, 08:52) *
К чести ST расписанная в errata (до чтения которой дошло только после того как грабли сделали свое черное дело). wink.gif

Ну, это у Вас еще везуха сплошная, если уже что-то спроектировано-смонтировано и как-то работает, а в еррату еще и не заглядывали.
Я обычно еррату читаю раньше чем основную документацию, на этапе выбора МК под задачу. Бывает, ее чтение переворачивает все с ног на голову.
Go to the top of the page
 
+Quote Post
Alechek
сообщение Dec 29 2015, 07:47
Сообщение #24


Профессионал
*****

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



Куб хорош для понимания, в чем накосячил при написании собственной работы с периферией.

Я, к примеру, долго не понимал, почему у меня не работает SPI - не принимает данные и все тут. В кубе работает, а в моем проекте - нет.
Оказалось, SCK обязательно должен быть выведен на ногу. Хоть мне он и не нужен (эмуляция 1-wire).

Без куба я бы от пары дней до недели потратил на понимание, почему не работает (и, возможно, не один камень). Ведь в документации этого обязательного условия я нигде не нашел.
С кубом хватило пол дня.
Go to the top of the page
 
+Quote Post
Velund
сообщение Dec 29 2015, 08:01
Сообщение #25


Знающий
****

Группа: Свой
Сообщений: 693
Регистрация: 19-11-04
Пользователь №: 1 177



QUOTE (Ruslan1 @ Dec 29 2015, 10:39) *
Ну, это у Вас еще везуха сплошная, если уже что-то спроектировано-смонтировано и как-то работает, а в еррату еще и не заглядывали.
Я обычно еррату читаю раньше чем основную документацию, на этапе выбора МК под задачу. Бывает, ее чтение переворачивает все с ног на голову.


Так тут особый случай. wink.gif Поделка штучная, под рукой был модуль китайский, хорошо встающий в макетку - и решил посмотреть, как оно пойдет, если к вопросу подойти "с другой стороны". wink.gif

Если честно - то это вообще первый в жизни STM32 с которым я связался. До этого были игрища с NXP/Freescale/TI а до серии из 32-битников доходили только NXP.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Dec 29 2015, 09:06
Сообщение #26


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(Alechek @ Dec 29 2015, 08:47) *
Куб хорош

куб убивает spl , а кубовские исходники никто не выкладывает, ибо и так никому не нужны
Go to the top of the page
 
+Quote Post
jcxz
сообщение Dec 29 2015, 10:05
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Ruslan1 @ Dec 28 2015, 23:39) *
А я опять повторю, что не видел еще ни одного МК со стабильным аппаратным I2C. sm.gif

LPC1758/LPC1778/LPC1788/OMAP-L137/....
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Dec 29 2015, 11:28
Сообщение #28


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



я вот тут подумал - для сабжа нужен какой-то метакуб, hal, но независимый от платформ, производителей и языков программирования
Go to the top of the page
 
+Quote Post
Velund
сообщение Dec 29 2015, 11:30
Сообщение #29


Знающий
****

Группа: Свой
Сообщений: 693
Регистрация: 19-11-04
Пользователь №: 1 177



QUOTE (jcxz @ Dec 29 2015, 13:05) *
LPC1758


Присоединюсь... На 1758 и 1768 тысячи изделий "в поле", I2C используется интенсивно (расширители и I2C слейвы на базе пиков 16-х) - проблем нет. Правда там и не кубоподобное на низком уровне, а честно выстраданное бессонными ночами. wink.gif

PS: Упоминавшийся на прошлой странице воркараунд из STшной Errata помог. Ровно на 2 минуты помог. Крутилось в цикле тупо вычитывая здоровый кусок EEPROM в буфер, и встало опять, в то же состояние с 10-сек таймаутом и возвратом с кодом HAL_BUSY. wink.gif
Go to the top of the page
 
+Quote Post
Alechek
сообщение Dec 29 2015, 11:47
Сообщение #30


Профессионал
*****

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



Цитата(Огурцов @ Dec 29 2015, 16:28) *
я вот тут подумал - для сабжа нужен какой-то метакуб, hal, но независимый от платформ, производителей и языков программирования

Изучая сякие SPL и HAL к сабжу, и собственно, сабжи, пришел к выводу, что использовать из них можно только заголовочники (.h). И то с наятгом.
Так как никакой универсальности в плане работы с периферией они не несут. Так, к примеру, у 32F1 и 32F0 разная по возможностям периферия.
Тот же USART, SPI. И, написав код под F0, на F1 его запустить уже не получится. И HALы с КУБами никак не помогут.
Go to the top of the page
 
+Quote Post
Ruslan1
сообщение Dec 29 2015, 11:58
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Цитата(jcxz @ Dec 29 2015, 12:05) *
LPC1758/LPC1778/LPC1788/OMAP-L137/....

удивил OMAP: вообще в еррате нет упоминания I2C. Или это чудо или пациента просто еще недообследовали (ревизия документа-2011 год) sm.gif
для LPC - упомянута только одна ошибка в реализации I2C, вроде бы обходится без особых танцев с бубном, так что тоже годится.
спасибо, буду знать.
Go to the top of the page
 
+Quote Post
scifi
сообщение Dec 29 2015, 12:06
Сообщение #32


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Огурцов @ Dec 29 2015, 14:28) *
я вот тут подумал - для сабжа нужен какой-то метакуб, hal, но независимый от платформ, производителей и языков программирования

И там будут свои метаглюки. Независимые ни от чего biggrin.gif
Go to the top of the page
 
+Quote Post
ViKo
сообщение Dec 29 2015, 12:19
Сообщение #33


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Гиперкуб rolleyes.gif

Я этот куб даже обновить нормально не могу. Лучше новую версию скачать и переустановить.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Dec 29 2015, 13:02
Сообщение #34


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



метакуб круче, чем гипер, ибо абстрагирует все от всего
Go to the top of the page
 
+Quote Post
jcxz
сообщение Dec 29 2015, 15:57
Сообщение #35


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Ruslan1 @ Dec 29 2015, 17:58) *
удивил OMAP: вообще в еррате нет упоминания I2C. Или это чудо или пациента просто еще недообследовали (ревизия документа-2011 год) sm.gif
для LPC - упомянута только одна ошибка в реализации I2C, вроде бы обходится без особых танцев с бубном, так что тоже годится.
спасибо, буду знать.

Может и недообследовали, но у меня на OMAP на I2C висит FRAM, в которую непрерывно пишутся логи работы, так что обмен довольно интенсивный и никаких проблем в его работе я не заметил.
Для LPC еррату не смотрел, так как на баги вроде не наступал (хотя может и наступил, но не понял что это баг). В любом случае на LPC1758 и LPC1788 у нас тоже наверное уже тысячи устройств у заказчиков работают в режиме 24часа и если-б там были проблемы, мне бы уже плешь насквозь проели . :-)
Go to the top of the page
 
+Quote Post
Velund
сообщение Dec 31 2015, 04:52
Сообщение #36


Знающий
****

Группа: Свой
Сообщений: 693
Регистрация: 19-11-04
Пользователь №: 1 177



QUOTE (Alechek @ Dec 29 2015, 14:47) *
Изучая сякие SPL и HAL к сабжу, и собственно, сабжи, пришел к выводу, что использовать из них можно только заголовочники (.h). И то с наятгом.
Так как никакой универсальности в плане работы с периферией они не несут. Так, к примеру, у 32F1 и 32F0 разная по возможностям периферия.
Тот же USART, SPI. И, написав код под F0, на F1 его запустить уже не получится. И HALы с КУБами никак не помогут.


После игрищ с кубом все прошлые выходные я для себя сделал заключение, что несомненно полезная вещь в нем - "графический редактор GPIO", который сам подсказывает где могут быть какие сигналы и что блокируешь каждым конкретным выбором из доступной периферии. Сильно ускоряет процесс, и автоматом делает удобоваримую документацию по назначению сигналов на пины. Последний раз полностью "распихать" ноги у LPC1768 и сделать в экселе табличку с сигналами и режимами для инициализации у меня заняло почти сутки (но там реально загружалось почти все что возможно по максимуму, два пина из сотни остались не у дел). Опять же код инициализации GPIO упрощает жизнь.

I2C у STM32F103C8 я для себя списал в утиль по результатам. Условно считаем что его нет, потому как бубна в комплекте с чипом не дают, а свой приносить для камлания вокруг их I2C модуля - много чести. wink.gif SPI работает вроде устойчиво с кубовским драйвером. Поделка ради которой я решил попробовать STM32 и куб уже задышала на LPC1758. Но я слегка "подточил" свои библиотечки для LPC чтобы приблизить форматы передачи параметров к кубовским и без больших правок использовать код который накропал за время игрищ с кубом, вреда от этого никакого а польза когда то может быть. wink.gif

Go to the top of the page
 
+Quote Post
Quasar
сообщение Jan 11 2016, 14:39
Сообщение #37


Местный
***

Группа: Свой
Сообщений: 257
Регистрация: 2-12-06
Из: Default City
Пользователь №: 23 021



Цитата(ViKo @ Dec 29 2015, 08:46) *
Обращаюсь ко всем, у кого не работает аппаратный I2C. Вы прочитали руководство, документацию по ошибкам, настроили все регистры, и - не работает?? Шайтан помешал?


Как тут уже писалось, аппаратные I2C модули во многих популярных МК настолько убоги, что проще использовать свою софтовую реализацию этого простого протокола. Ну правда, чтение документации, изучние erratы, написание кода - займет больше времени, чем написание кода софтового I2C (у бывалых людей он уже давно написан и кочует из поекта в проект, плюс он не привязан к ножкам) :-)

Go to the top of the page
 
+Quote Post
Tarbal
сообщение Jan 11 2016, 15:45
Сообщение #38


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Цитата(Quasar @ Jan 11 2016, 17:39) *
(у бывалых людей он уже давно написан и кочует из поекта в проект, плюс он не привязан к ножкам) :-)


Точно!!!!!
sm.gif
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jan 11 2016, 15:56
Сообщение #39


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Quasar @ Jan 11 2016, 20:39) *
Как тут уже писалось, аппаратные I2C модули во многих популярных МК настолько убоги, что проще использовать свою софтовую реализацию этого простого протокола. Ну правда, чтение документации, изучние erratы, написание кода - займет больше времени, чем написание кода софтового I2C (у бывалых людей он уже давно написан и кочует из поекта в проект, плюс он не привязан к ножкам) :-)

Это программная эмуляция имеющейся в МК периферии - убогая идея. Ногодрыг - это тяжёлое наследие АВР и иже с ними.
400кГц (обычная частота для I2C) даст 800кГц прерываний! Это угробит производительность даже самого жирного МК на бессмысленное дёрганье ножками.
А ведь бывает нужно на несколько разных интерфейсов I2C повесить устройства. Вот тут и появляются чудо-проекты, когда МК с несколько сот МГц тактовой едва хватает для опроса пары датчиков.
Видно все Ваши задачи заключаются в моргании несколькими лампочками, тогда да - чем ещё загружать CPU?
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Jan 11 2016, 16:08
Сообщение #40


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



именно для этого и нужен десяток ядер в каждом камне
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jan 11 2016, 16:25
Сообщение #41


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Огурцов @ Jan 11 2016, 22:08) *
именно для этого и нужен десяток ядер в каждом камне

Точно! Даёшь каждому I2C-девайсу по ядру! beer.gif
Go to the top of the page
 
+Quote Post
scifi
сообщение Jan 11 2016, 16:29
Сообщение #42


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(jcxz @ Jan 11 2016, 18:56) *
Это программная эмуляция имеющейся периферии - убогая идея. Ногодрыг - это тяжёлое наследие АВР и подобных.
400кГц (обычная частота для I2C) даст 800кГц прерываний! Это угробит производительность даже самого жирного МК на бессмысленное дёрганье ножками.

Очень часто нужно изредка что-то там поделать с I2C. Подождать 20 мкс - не проблема.
А если интенсивный обмен, то прерывание на каждый байт - тоже не сахар.
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 11 2016, 17:03
Сообщение #43


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(jcxz @ Jan 11 2016, 18:56) *
Это программная эмуляция имеющейся в МК периферии - убогая идея. Ногодрыг - это тяжёлое наследие АВР и иже с ними.
400кГц (обычная частота для I2C) даст 800кГц прерываний! Это угробит производительность даже самого жирного МК на бессмысленное дёрганье ножками.


Никогда не использовал прерывания для i2c. По-моему это бред полный, ибо интерфейс синхронизируемый самим контроллером, можно делать обычные delay().

ЗЫ. Это я про мастер режим, разумеется, слейв - тут только аппаратный блок, придется изучать все ераты и пр.. К счастью, пока нужды в нем не было rolleyes.gif
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Jan 11 2016, 17:21
Сообщение #44


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(jcxz @ Jan 11 2016, 17:25) *
Точно! Даёшь каждому I2C-девайсу по ядру! beer.gif

и автоматом решается вопрос с маппингом и ерратами
10 уартов или 10 езернетов - пожалуйста
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jan 11 2016, 18:11
Сообщение #45


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(mantech @ Jan 11 2016, 23:03) *
Никогда не использовал прерывания для i2c. По-моему это бред полный, ибо интерфейс синхронизируемый самим контроллером, можно делать обычные delay().

Обычные delay() допустимы только для однозадачной среды, в многозадачной среде они убъют все задачи приоритетом ниже той, в которой работает такой драйвер.
В нормально реализованном драйвере, работающем с аппаратной периферией, как раз наоборот - обмен по интерфейсам (с использованием прерываний и DMA) освобождает процессор для менее приоритетных задач
(в которых кстати тоже может идти обмен по другому интерфейсу, времянки которого не будут сбиваться более приоритетными задачами).
Опять приходим к тому, что в более-менее сложном ПО будет скорей всего многозадачная среда, а однозадачная среда - что-то простое типа моргания лампочками.
Go to the top of the page
 
+Quote Post
SpyBot
сообщение Jan 11 2016, 18:37
Сообщение #46


Местный
***

Группа: Свой
Сообщений: 285
Регистрация: 5-11-05
Пользователь №: 10 491



Цитата(jcxz @ Jan 11 2016, 21:11) *
Обычные delay() допустимы только для однозадачной среды

В многозадачной среде есть необычные delay(), которые в момент отдыха данной задачи отдают управление менее приоритетной задаче.
Go to the top of the page
 
+Quote Post
Quasar
сообщение Jan 11 2016, 19:35
Сообщение #47


Местный
***

Группа: Свой
Сообщений: 257
Регистрация: 2-12-06
Из: Default City
Пользователь №: 23 021



Цитата(jcxz @ Jan 11 2016, 18:56) *
Это программная эмуляция имеющейся в МК периферии - убогая идея. Ногодрыг - это тяжёлое наследие АВР и иже с ними.
400кГц (обычная частота для I2C) даст 800кГц прерываний! Это угробит производительность даже самого жирного МК на бессмысленное дёрганье ножками.
А ведь бывает нужно на несколько разных интерфейсов I2C повесить устройства. Вот тут и появляются чудо-проекты, когда МК с несколько сот МГц тактовой едва хватает для опроса пары датчиков.
Видно все Ваши задачи заключаются в моргании несколькими лампочками, тогда да - чем ещё загружать CPU?


I2C не сильно-то нагруженный интерфейс, чаще всего, пару байт переслать раз в минуту/час. Это не SPI/I2S/Ethernet/CAN, которые чаще всего загружены "по полной".
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jan 11 2016, 20:06
Сообщение #48


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(SpyBot @ Jan 12 2016, 00:37) *
В многозадачной среде есть необычные delay(), которые в момент отдыха данной задачи отдают управление менее приоритетной задаче.

Такие delay задают задержку в количестве тактов таймера планировщика задач, который имеет частоты обычно не более единиц кГц. I2C на такой задержке будет ну очень медленный.
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 11 2016, 20:33
Сообщение #49


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(jcxz @ Jan 11 2016, 23:06) *
Такие delay задают задержку в количестве тактов таймера планировщика задач, который имеет частоты обычно не более единиц кГц. I2C на такой задержке будет ну очень медленный.


У меня задачи переключаются с частотой 10000 раз в сек - это вполне нормальная скорость. I2C не для передачи изображений же используется biggrin.gif
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jan 11 2016, 21:17
Сообщение #50


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(mantech @ Jan 12 2016, 02:33) *
У меня задачи переключаются с частотой 10000 раз в сек - это вполне нормальная скорость. I2C не для передачи изображений же используется biggrin.gif

А Вы откуда знаете?
Мы в некоторых изделиях используем матричные ЖКИ висящие на I2C. А также FRAM-память на I2C размером в 32кБ.
В других изделиях есть ADE78xx работающая по I2C непрерывным потоком на макс. скорости.
Если Вы думаете, что I2C используется только для передачи пары байт и никаких других применений нет, то зачем в новых МК ввели I2C с SCL до 1МГц?

PS: Имхо - тактировать шедулер 10кГц можно конечно, но по-моему многовато - много накладных расходов на переключение задач. У меня обычно максимум 1кГц или меньше.
Go to the top of the page
 
+Quote Post
Alechek
сообщение Jan 12 2016, 06:39
Сообщение #51


Профессионал
*****

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



Цитата(mantech @ Jan 12 2016, 01:33) *
У меня задачи переключаются с частотой 10000 раз в сек - это вполне нормальная скорость. I2C не для передачи изображений же используется biggrin.gif

Кхе.... Весьма жирновато.
Еще для FreeRTOS с ARM LPC2148 48Мгц прикниул, что сохранение-переключение-востановление контекста в прерывании занимает 2.2 мкс
А тут период планировщика 100 мкс, то есть в этом случае 2.2% времени процессора будет тратиться на переключение контекста.


Цитата(Огурцов @ Jan 11 2016, 22:21) *
10 уартов или 10 езернетов - пожалуйста

Тогда по паре таймеров на ядро еще бы.
Go to the top of the page
 
+Quote Post
Quasar
сообщение Jan 12 2016, 07:56
Сообщение #52


Местный
***

Группа: Свой
Сообщений: 257
Регистрация: 2-12-06
Из: Default City
Пользователь №: 23 021



Цитата(jcxz @ Jan 12 2016, 00:17) *
А Вы откуда знаете?
Мы в некоторых изделиях используем матричные ЖКИ висящие на I2C. А также FRAM-память на I2C размером в 32кБ.
В других изделиях есть ADE78xx работающая по I2C непрерывным потоком на макс. скорости.
Если Вы думаете, что I2C используется только для передачи пары байт и никаких других применений нет, то зачем в новых МК ввели I2C с SCL до 1МГц?


Ну это ВЫ так используете, но в массе своей, практика показывает, что высоконагруженное I2C это экзотика, так же как и I2C в слейве со стороны МК. Никто же не спорит, что это не нужно или нереально, просто речь идет о том, что I2C в 99% случаев, для эмбеддера это мастер с небольшим объемом данных, и все эти мегагерцы на SCL и аппаратный I2C - просто не нужны.
Go to the top of the page
 
+Quote Post
scifi
сообщение Jan 12 2016, 08:03
Сообщение #53


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(jcxz @ Jan 11 2016, 21:11) *
Опять приходим к тому, что в более-менее сложном ПО будет скорей всего многозадачная среда, а однозадачная среда - что-то простое типа моргания лампочками.

Вы не представляете, как много всякого разного и вполне многозадачного можно сделать в рамках схемы Super Loop.
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 12 2016, 08:39
Сообщение #54


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Quasar @ Jan 12 2016, 10:56) *
Ну это ВЫ так используете, но в массе своей, практика показывает, что высоконагруженное I2C это экзотика, так же как и I2C в слейве со стороны МК. Никто же не спорит, что это не нужно или нереально, просто речь идет о том, что I2C в 99% случаев, для эмбеддера это мастер с небольшим объемом данных, и все эти мегагерцы на SCL и аппаратный I2C - просто не нужны.


Все верно, даже добавить нечего, ибо эта шина создавалась именно для конфигурирования и управления блоками телерадиоаппаратуры фирмы филипс. А использовать жк экраны или другие высокоскоростные стриминговые устройства считаю нерациональным, ибо почти все они есть на более скоростном SPI, с которым работать куда приятнее.
ЗЫ. А так, если принципиально "упираться", можно и на 1wire дисплей повесить, но нужно-ли? laughing.gif
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Jan 12 2016, 08:44
Сообщение #55


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(Alechek @ Jan 12 2016, 06:39) *
Тогда по паре таймеров на ядро еще бы.

хоть по десять
я ведь не против, если ядер будет 16
или 256
только учтите, что одно ядро тянет одну нить
а значит один цикл, и один таймер, но общий
а если в цикле инкрементировать две переменных, тогда разрешение будет поменьше

Сообщение отредактировал Огурцов - Jan 12 2016, 08:51
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 12 2016, 08:51
Сообщение #56


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Огурцов @ Jan 12 2016, 11:44) *
я ведь не против, если ядер будет 16


Да уже и есть наверно, только программирование линукс-онли, поэтому - обламингос crying.gif
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Jan 12 2016, 10:24
Сообщение #57


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



какой линукс, речь про что-то типа 2313, только лишь штук 256 в одном соике и на гигагерц тактовой
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 12 2016, 19:45
Сообщение #58


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Огурцов @ Jan 12 2016, 13:24) *
какой линукс, речь про что-то типа 2313, только лишь штук 256 в одном соике и на гигагерц тактовой


Ооо да!! Даже не представляю, как бы все это называлось biggrin.gif

Хотя да, берете плисину на стопятьсот лог. вентилей и втюхиваете туда свои кучи ядер... Тут главное критическую массу не набрать, а то мало-ли что... biggrin.gif
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Jan 12 2016, 21:58
Сообщение #59


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



за доллар ? давайте

вообще, зря смеетесь, алу на кристалле занимает очень мало места в сравнении с флешем или рамой
так что ядер может очень много за счет уполовинивания памяти

кстати интересная фича про перывания - как в с# - несколько ядер могут подписаться на одно прерывание

Сообщение отредактировал Огурцов - Jan 12 2016, 22:00
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jan 13 2016, 06:51
Сообщение #60


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(Quasar @ Jan 11 2016, 17:39) *
Как тут уже писалось, аппаратные I2C модули во многих популярных МК настолько убоги, что проще использовать свою софтовую реализацию этого простого протокола. Ну правда, чтение документации, изучние erratы, написание кода - займет больше времени, чем написание кода софтового I2C (у бывалых людей он уже давно написан и кочует из поекта в проект, плюс он не привязан к ножкам) :-)

Ну, скажем, программный там и писать нечего. 5 строчек... )) И действительно лениво ... ))
Честно сказать в последнем проекте (stm32f407) так и есть. У меня там клава по I2C подключена. Она реализована на stm8 (slave). Казалось бы написать мастера - 2 пальца об асфальт. Ну у меня там специфика - хотел без прерываний сделать... На начальном этапе включил софтовый драйвер. Когда уже проект закончил - решил подключить аппаратный. Написал первоначальный вариант - виснет иногда. Перечитал всё - написал все возможные обработчики ошибок - виснет гораздо реже. Настолько редко, что выловить причину не смог. Плюнул - оставил софтовый.

А в LPC1764/65 действительно прекрасно работает. Да и на старом LPC2106 тоже не припомню проблем. На stm32f103 slave удалось нормально сделать. Через прерывания. Оно и на 407 наверное можно... просто жалко времени... ))
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 13 2016, 07:07
Сообщение #61


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(SasaVitebsk @ Jan 13 2016, 09:51) *
На stm32f103 slave удалось нормально сделать. Через прерывания. Оно и на 407 наверное можно... просто жалко времени... ))


Дак ясно дело жалко, причем клаву можно на низкой скорости запустить, куда там спешить-то? biggrin.gif
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jan 13 2016, 09:02
Сообщение #62


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(mantech @ Jan 12 2016, 14:39) *
Все верно, даже добавить нечего, ибо эта шина создавалась именно для конфигурирования и управления блоками телерадиоаппаратуры фирмы филипс. А использовать жк экраны или другие высокоскоростные стриминговые устройства считаю нерациональным, ибо почти все они есть на более скоростном SPI, с которым работать куда приятнее.

Вобще-то "использует" её производитель, применив именно такую, а не иную шину в своей микросхеме. Не знаю для кого она создавалась, но факт - это наличие микросхем именно с этой шиной.
И если в устройстве нужна например FRAM и внешние часы RTC, то выгоднее поставить одну микросхему содержащую в себе FRAM+RTC, чем ставить две отдельные на разные шины.
Тогда и получается, что нужны массированные транзакции обмена с памятью по I2C.
Да и EEPROM-ов разных на I2C тоже тьма - тоже их зачем-то именно на I2C делают.
Go to the top of the page
 
+Quote Post
HHIMERA
сообщение Jan 13 2016, 09:58
Сообщение #63


Местный
***

Группа: Участник
Сообщений: 226
Регистрация: 10-07-09
Пользователь №: 51 126



Цитата(jcxz @ Jan 13 2016, 12:02) *
Да и EEPROM-ов разных на I2C тоже тьма - тоже их зачем-то именно на I2C делают.

Ну и что... ну делают по старой привычке... и что дальше??? Применять то их... никто не обязывает...
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 13 2016, 13:16
Сообщение #64


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(jcxz @ Jan 13 2016, 12:02) *
Да и EEPROM-ов разных на I2C тоже тьма - тоже их зачем-то именно на I2C делают.


Да конечно делают, только объемы памяти, как правило не соизмеримы с SPIшными или нандами... И сам делал голосовой информатор на 128кБ i2c епроме, и ничего, звук, 12кГц, не прерывался и не глючил - чисто программный интерфейс, да еще и на АВРке... Во время проигрывания еще обслуживался модем, клавиатура, датчики и еще по мелочи. Все зависит от рук и головы программиста laughing.gif

Сообщение отредактировал mantech - Jan 13 2016, 13:18
Go to the top of the page
 
+Quote Post
scifi
сообщение Jan 13 2016, 13:22
Сообщение #65


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(mantech @ Jan 13 2016, 16:16) *
Да конечно делают, только объемы памяти, как правило не соизмеримы с SPIшными или нандами... И сам делал голосовой информатор на 128кБ i2c епроме, и ничего

Да ладно... SPI NOR flash - наше всё. Хотите 16 мегабайт? Их есть у нас. И стоит всего полтора дублона в розницу.
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 13 2016, 13:27
Сообщение #66


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(scifi @ Jan 13 2016, 16:22) *
Хотите 16 мегабайт?


Я знаю, вроде и больше видал, я писал про I2C, что у них объемы небольшие по сравнению с SPI и т.д.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jan 14 2016, 07:16
Сообщение #67


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



У меня в предыдущем изделии (пока выпускается) стоит FRAM + EEPROM на I2C. Процессор LPC1765. Написал и забыл. Даже начальную инициализацию сделал так, что автоматически определяется размер установленных микрух и автоматически настраивается всё. И больше вопросов не возникало. Выпускается лет 5 уже.
На stm единственно обнаружил нюанс, что некоторые таймауты обрабатываются аппаратно. Например при ожидании ASK, по-моему. Уже не помню. Короче напрямую в ОС нельзя. Некоторые операции в транзакции надо завершать. Поэтому лучше на прерываниях писать и следить за временем их исполнения.
Но в целом мне не понравилось. Ни в AVR, ни в STM. В MSP не работал с этой шиной.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jan 14 2016, 11:22
Сообщение #68


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(SasaVitebsk @ Jan 14 2016, 13:16) *
У меня в предыдущем изделии (пока выпускается) стоит FRAM + EEPROM на I2C. Процессор LPC1765. Написал и забыл. Даже начальную инициализацию сделал так, что автоматически определяется размер установленных микрух и автоматически настраивается всё. И больше вопросов не возникало. Выпускается лет 5 уже.
На stm единственно обнаружил нюанс, что некоторые таймауты обрабатываются аппаратно. Например при ожидании ASK, по-моему. Уже не помню. Короче напрямую в ОС нельзя. Некоторые операции в транзакции надо завершать. Поэтому лучше на прерываниях писать и следить за временем их исполнения.
Но в целом мне не понравилось. Ни в AVR, ни в STM. В MSP не работал с этой шиной.

На LPC17xx и на LPC23xx я сделал уже множество изделий с микрухами висящими на I2C (МК везде мастер). Это и FRAM и RTC-часы и ЖКИ и датчики и ADE78xx.
Эти изделия выпускаются серийно и давно уже множество их работает у заказчиков. Проблем нет. В том числе и испытания на ЭМС нормально проходят.
И в других проектах на Tiva, OMAP, MSP430, DSP C5502 - много где использовал I2C - везде только аппаратный, нигде не страдал фигнёй типа программной эмуляции существующего в МК I2C.
И проблем тоже не было с ним. И сложного там ничего нет.
На STM32 правда с I2C я не работал.
Go to the top of the page
 
+Quote Post

5 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 07:40
Рейтинг@Mail.ru


Страница сгенерированна за 0.02225 секунд с 7
ELECTRONIX ©2004-2016