Разработки ecoins

JonyBest
Сержант
Сообщения: 269
Зарегистрирован: 18 ноя 2015, 22:42
Откуда: Близко к Ставрополю
Имя: Евгений
Поблагодарили: 2 раза

Разработки ecoins

Сообщение JonyBest »

Спасибо! Исправления не работают. При компиляции вываливается ошибка на новых параметрах. Максимум можно выставить только 12сек? Можно ваш доработанный блок на 10сек...
zhulen820
Сержант
Сообщения: 194
Зарегистрирован: 29 авг 2016, 22:44
Откуда: Серпухов
Имя: Александр

Разработки ecoins

Сообщение zhulen820 »

В последней версии блоков и библиотек не компилируется при использовании расширенных блоков вывода на дисплей HD44780. При использовании обычных блоков вывода, все хорошо. Блоки и библиотеки из шапки темы. Проект прилагаю, может кто проверит у себя?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ecoins
Полковник
Сообщения: 4009
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 153 раза

Разработки ecoins

Сообщение ecoins »

zhulen820 писал(а): 04 дек 2020, 19:22 В последней версии блоков и библиотек не компилируется при использовании расширенных блоков вывода на дисплей HD44780. При использовании обычных блоков вывода, все хорошо. Блоки и библиотеки из шапки темы. Проект прилагаю, может кто проверит у себя?
Исправляю чуть позже (сейчас тестируем STM32F4) - если критично, то ускорим.
zhulen820
Сержант
Сообщения: 194
Зарегистрирован: 29 авг 2016, 22:44
Откуда: Серпухов
Имя: Александр

Разработки ecoins

Сообщение zhulen820 »

Спасибо. Ждем...
ecoins
Полковник
Сообщения: 4009
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 153 раза

Разработки ecoins

Сообщение ecoins »

#47Непрочитанное сообщение fsergei70 » Сегодня{, 18:44}
ecoins писал(а): ↑Сегодня{, 00:19}
Не хотите двинуться в сторону не Raspberry, а в сторону STM32F407V и дальше STM32H7? У нас сейчас тестируются STM32F407VE в среде FLProg.
Очень интересно, ждём результатов тестов.

Отправлено спустя 2 минуты 33 секунды:
Вы какое ядро используете если не секрет
----------------------
Ответы на вопросы из темы ARDUINO PLC.
----------------------
1.Сейчас перешли на ядро STM32duino. Там появилась версия 1.9.0.
Одно из неприятных свойств по сравнению с ядром от Clark - медленнее компирируется.
Также не совпадает цифровая нумерация пинов - это мы преодолели, теперь пины задаются как на на плате и чипе (например PB6,PE2).
Еще отличаются идентификаторы плат, но это преодолимо.
В принципе может работать на обоих ядрах, но не тестировали.
Грузим пока только через ST-LINK
2. Теперь за помощью. Мы проводим испытания на которых одновременно подключено
BLUEPILL_STM32G103C,BLACKPILL_STM32F103C,
Generic STM32F103RE,Fractal-STM32F103RE, STM32F103VE(к сожалению сейчас перестала работать),
BLACKPILL_401CC, BLACKPILL_411CE,
BLACK_F407VE_F4, GENERIC_STM32F407VE (промплата с AliExspess).
Давно замечаем не вполне устойчивую связь через USB. Когда много плат - проявляется стабильнее.
Питание, разделение по хабам все сделано и перепробовано.
Что замечено из прежних экспериментов - чувствительно к питанию USB (если начинает проседать), иногда к кабелю и его длине.
Думаем, что проблема в схемотехнике китайских плат - последовательно с D+ и D- USB стоят ограничивающие резисторы 10-24 ом(на разных платах разные).
Вроде бы должны входа PA11,PA12 должны быть подтянуты к питанию (где встречалась рекомендация 1.5k к Vcc).
Вопрос: может у кого есть какой-то опыт и знания в этой проблеме - уже много времени отняло, сейчас отложили эту проблему в сторону, но разобраться хочется.
ecoins
Полковник
Сообщения: 4009
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 153 раза

Разработки ecoins

Сообщение ecoins »

Di123 писал(а): 24 ноя 2020, 17:17 выкладывайте так больше ошибок вам скинут и быстрее их исправите
а возможно и такие которые сами не сможет сэмитировать

просто создайте отдельную тему мол тестим STM32F103C8T6 в вашей оболочке и пусть туда присылают только ошибки
а то что два года назад голосовали за стм это просто вылилось в красивый длинный столбик и ничего более
Выкладываю здесь пока - библиотека работает с поддержкой AVR,ESP8266,ESP32, и STM32:
от STM32F103C до STM32F407 (F401,F411).
Для того, чтобы заложить в библиотеку возможность работы с несколькими шинами i2c,SPI и до 8 UART пришлось переписать все.
Пока библиотека с со всеми возможностями - дальше будем работать. Надо сделать небольшой перерыв, подтянуть обязательства.
Потом результаты выложим в отдельной теме.
Стенд STM32.jpg
RT_00_HW_BASE_v3.14.zip
BASE_FLProg_v7xx_Test_01_Базовый_тест_v01_021220.flp
Библиотека вроде написана с подробными комментариями, тестовый пример содержит минимум необходимых пользовательских блоков.
Для знакомства должно хватить.
Будут вопросы - пишите.
Успехов.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ecoins
Полковник
Сообщения: 4009
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 153 раза

Разработки ecoins

Сообщение ecoins »

zhulen820 писал(а): 04 дек 2020, 19:22 В последней версии блоков и библиотек не компилируется при использовании расширенных блоков вывода на дисплей HD44780. При использовании обычных блоков вывода, все хорошо. Блоки и библиотеки из шапки темы. Проект прилагаю, может кто проверит у себя?
Поправил - там были ошибочки в расширенных версиях. Доработка была связана в копированию основных блоков и добавлению входов.
Конечно хотелось бы это все блоки оформить в новом редакторе - много возможностей предоставляет... Пока так.
1.Библиотеку не менял, но прикладываю.
2.Библиотеку блоков по LCD прикладываю, но все основные блоки есть в проекте (под i2c).
3.Давно хотели сделать автономный планировщик задач (диспетчер) - сделали. Выкладываемый проект требует только одну библиотеку LCD, все остальное в блоках.
Стенд lcd.jpg
RT_10_HW_LCD44780_v0.3_xxx.zip
BASE_FLProg_v7xx_Тест LCD расширенный_v02_071220.flp
Управление режимами блокировки и мерцания сделаны от внешних кнопок -из проекта это вроде должно быть понятно.
Успехов.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ShishkaRoman
Рядовой
Сообщения: 44
Зарегистрирован: 18 июн 2020, 11:36
Имя: Roman

Разработки ecoins

Сообщение ShishkaRoman »

Доброго времени суток.
Если я правильно понял, то в следующей версии FLprog будет добавлена линейка МК STM32.
Из вышеперечисленных плат не нашел STM32F746G-DISCOVERY на STM32F746NGH6. Подскажите такой МК будет добавлен.
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

Разработки ecoins

Сообщение Ingwar »

ShishkaRoman писал(а): 07 дек 2020, 22:49 Подскажите такой МК будет добавлен.
Зачем ждать?
[spoiler]
Безымянный.png
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
ecoins
Полковник
Сообщения: 4009
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 153 раза

Разработки ecoins

Сообщение ecoins »

ShishkaRoman писал(а): 07 дек 2020, 22:49 Доброго времени суток.
Если я правильно понял, то в следующей версии FLprog будет добавлена линейка МК STM32.
Из вышеперечисленных плат не нашел STM32F746G-DISCOVERY на STM32F746NGH6. Подскажите такой МК будет добавлен.
---------------------------------------------------------------
Не совсем верно. Разработчик FLProg планирует добавить линейку STM32, но пока эти планы немного сдвигаются.
viewtopic.php?t=6881&start=40#p96746
Цитата: :smile37:
У меня есть "дорожная карта проекта" где записано - 8 версия - Скада, 9 версия - STM + поддержка других ИДЕ кроме ArduinoIDE (я рассматривал кубик, возможно какие то ещё из бесплатных).

Но как говорится - "Мы предполагаем, а бог располагает". Жизнь вносит свои коррективы. Эти два пункта подвинутся.
Конец цитаты. :shok:
----------------------------------------------------------------
О серии линейки stm32F7 есть неплохой обзор четырехлетней давности
https://www.compel.ru/lib/75316
Цитата: :smile37:
Еще 10 лет назад на рынке главенствовали 8-битные микроконтроллеры с рабочими частотами до 20…25 МГц. Затем на него с триумфом ворвались 32-битные системы. Контроллеры STM32F1 с высочайшей, по тем временам, рабочей частой до 72 МГц и богатейшей периферией казались верхом совершенства. Но технологии развивались, и STMicroelectronics, выпуская новые семейства, приучила нас к постоянному увеличению производительности. После STM32F1 появились STM32F2, а затем и STM32F4.

Представители последней линейки STM32F42x/STM32F43x до недавнего времени были топовыми в номенклатуре компании. Они работают на частотах до 180 МГц и имеют производительность 1,25 DMIPS/МГц (Dhrystone 2.1). В пике это давало до 225 DMIPS. Однако теперь этот рекорд пал под натиском STM32F7.
Конец цитаты. :shok:
----------------------------------------------------------------
С новыми технологиями появляются новые чипы с новыми рекордными характеристиками:
https://www.compel.ru/lib/88473
Цитата: :smile37:
Компания STMicroelectronics последовательно развивает семейства микроконтроллеров STM32. Самое первое семейство STM32F1 появилось больше десяти лет назад и имело пиковую производительность 61 DMIPS при максимальной рабочей частоте 72 МГц. С тех пор компания сделала несколько значительных шагов вперед. Два года назад микроконтроллеры STM32F7 с ядром ARM Cortex-M7 установили рекорд производительности – 462 DMIPS при рабочей частоте 216 МГц. Однако теперь и этот рекорд перекрыт новыми микроконтроллерами STM32H7, причем – почти в два раза. Это весьма впечатляющий результат, особенно если учесть, что в новом флагманском семействе используется то же процессорное ядро.

STM32H7 превосходят своих предшественников по всем ключевым параметрам – производительности, рабочей частоте и богатству периферии
Конец цитаты: :shok:
----------------------------------------------------------------
ecoins вроде бы удалось создать инструменты для простого включения в FLProg и Arduino новых контроллеров произвольных архитектур (поддерживаемых Arduino). По сути это линейный набор массивов без фиксации их длины, размещаемых во flash + небольшой инструментарий собранной в одной библиотеке
RT_HW_BASE.h.
Это позволяет делать универсальные проекты от 8-битной Arduino Nano до ... STM32x7...
Хотя поддержка снизу становится все более проблематичной - мало портов (UART), не большая память.
Из-за памяти в тестовых программах приходиться отключать часть плат в тесте - одновременное выполнение "упирается" в нехватку памяти.
-------------------------------------------------------------------
Если Вас интересует STM32F746G-DISCOVERY, то после того как Вы подойдете к практической реализации (она у Вас появилась, к ней подведено питание, Вы её видите через ST32CubeProgrammer - мы можем оперативно добавить плату в библиотеку (или Вы сделаете самостоятельно по образу предыдущих контроллеров - это один файл с расширением hpp и несколько строк еще в одном файле).
Подобная работа с Вашей стороны было бы полезно и ecoins, наверное FLProg, когда STM32 будет штатно включаться в FLProg.
Это был бы Ваш реальный вклад в сотрудничество по интересующим стороны STM32.
-----------------------------------------------------------------------
Не все участники форума готовы к подобной работе - кто-то задает вопросы и формирует позицию вроде :
1. "А что мне за это будет и сколько мне заплатят (любопытный подход для бесплатного форума пользователей бесплатного продукта);
2. "Аргументировано обоснуйте и докажите что это нужно";
3."А пока, все это только высокие слова и безумные идеи."
viewtopic.php?f=42&t=4084&start=60#p96714
3."Свидетели или сатанисты - стопудово.
Балабол он и в Шатуре балабол".
viewtopic.php?f=42&t=4084&start=60#p96721
4."какое сотрудничество? от вАС один флуд :smile113:
"viewtopic.php?f=42&t=4084&start=60#p96723
5."Команда ecoins, как бы толковые вещи делает. Но все это, как они представляют и описывают. Не сравнить не с чем. Такое ощущение что они под мощным наркотиком все дела творят. И у них сформировался параллельный мир, который имеет несколько тонки точок соприкосновения здесь на сайте."
viewtopic.php?f=42&t=4084&start=60#p96740
6."Да погромисты все наркоманы :D"
viewtopic.php?f=42&t=4084&start=60#p96742
7.nalnik писал(а): ↑Вчера{, 18:59}
Но тут же эконик из шатуры писал что как раз вроде этим и "занимается"
Эээээээээ.....
С таким подходом детям прямая дорога в дурку.
viewtopic.php?f=24&t=6922#p96796

Судя по положительным оценкам вышеприведенных постов призывы к сотрудничеству пока не получают широкого отклика.
Хотя в действительности такое сотрудничество на форуме есть - и нам пишут, и ecoins пишет и отвечает, но открыто на форуме как-то это не сложилось - много активных критиков и мало практических разработчиков.
-------------------------------------------------------------------------------
ecoins готово поддержать и организационно, в некоторых случаях и материально (оплатить разработку и изготовление печатных плат, обеспечить комплектующими, просто что-то стоящее оплатить и т.п.).
Если Вы займетесь испытанием STM32F746G-DISCOVERY - окажем посильную поддержку.
--------------------------------------------------------------------------------
Успехов.
ShishkaRoman
Рядовой
Сообщения: 44
Зарегистрирован: 18 июн 2020, 11:36
Имя: Roman

Разработки ecoins

Сообщение ShishkaRoman »

Судя по положительным оценкам вышеприведенных постов призывы к сотрудничеству пока не получают широкого отклика.
Хотя в действительности такое сотрудничество на форуме есть - и нам пишут, и ecoins пишет и отвечает, но открыто на форуме как-то это не сложилось - много активных критиков и мало практических разработчиков.
-------------------------------------------------------------------------------
ecoins готово поддержать и организационно, в некоторых случаях и материально (оплатить разработку и изготовление печатных плат, обеспечить комплектующими, просто что-то стоящее оплатить и т.п.).
Если Вы займетесь испытанием STM32F746G-DISCOVERY - окажем посильную поддержку.
--------------------------------------------------------------------------------
Успехов.
[/quote]

Плата есть и я с удовольствием помогу. Мне это так же интересно, возможно научусь чему то новому. Сегодня постараюсь установить связь платы с ST32CubeProgrammer
ecoins
Полковник
Сообщения: 4009
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 153 раза

Разработки ecoins

Сообщение ecoins »

ShishkaRoman писал(а): 08 дек 2020, 12:49 Плата есть и я с удовольствием помогу. Мне это так же интересно, возможно научусь чему то новому. Сегодня постараюсь установить связь платы с ST32CubeProgrammer
Ок. Будут вопросы - пишите.
ShishkaRoman
Рядовой
Сообщения: 44
Зарегистрирован: 18 июн 2020, 11:36
Имя: Roman

Разработки ecoins

Сообщение ShishkaRoman »

[spoiler]
ecoins писал(а): 08 дек 2020, 15:28
ShishkaRoman писал(а): 08 дек 2020, 12:49 Плата есть и я с удовольствием помогу. Мне это так же интересно, возможно научусь чему то новому. Сегодня постараюсь установить связь платы с ST32CubeProgrammer
Ок. Будут вопросы - пишите.
[/spoiler]

Может стоит создать отдельную тему или раздел?

И так. Изначально на плате установлен линукс.
Есть возможность разных подключений через пермычки. Подключился через ST-Link.
Экран пропал, но зато плату видит программа ST32CubeProgrammer.
Мне не совсем понятно что за файл и что с ним делать?
ecoins
Полковник
Сообщения: 4009
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 153 раза

Разработки ecoins

Сообщение ecoins »

ShishkaRoman писал(а): 08 дек 2020, 23:15 Может стоит создать отдельную тему или раздел?
Попозже. Пока подчищаем, тестируем, сталкиваемся и преодолеваем на разных платах.
В частности опыт использования DFU-загрузчика на BLACKPILL411CE пока негативный - через ST-Link и проще, и надежнее, и еще проблемы после DFU возникают.
ShishkaRoman писал(а): 08 дек 2020, 23:15 И так. Изначально на плате установлен линукс.
Есть возможность разных подключений через пермычки. Подключился через ST-Link.
Экран пропал, но зато плату видит программа ST32CubeProgrammer.
https://aliexpress.ru/item/32754417825. ... 1861039278
У Вас что-то такое на стенде?
Микроконтроллер STM32F746NGH6 с 1 Мб флэш-памяти и 340 Кбайт ОЗУ, посылка BGA216
Бортовой ST-LINK/V2-1 с поддержкой USB.
Для линукс это наверное маловато, но ведь и работает! :smile390:
Надо понимать, что после первой загрузки нашего примера все программы пропадут и все придется делать с начала - экран и т.п.
Наши проекты это автоматизация - работа с пинами, "легкая многозадачность", коммуникации с другими устройствами.
Если готовы потерять внутренний софт, то можно готовится к следующему шагу. Неплохо его сначала выполнить (потренироваться) на какой-нибудь простой STM-плате, например BLUEPILL_103C (STM32F103C). Если у Вас есть что-подобное - напишите, мы выложим пример.
С подобным вопросом через личку обратился еще один пользователь, возможно и примеры будут схожие.
ShishkaRoman
Рядовой
Сообщения: 44
Зарегистрирован: 18 июн 2020, 11:36
Имя: Roman

Разработки ecoins

Сообщение ShishkaRoman »

[spoiler]https://aliexpress.ru/item/32754417825. ... 1861039278
У Вас что-то такое на стенде?
Микроконтроллер STM32F746NGH6 с 1 Мб флэш-памяти и 340 Кбайт ОЗУ, посылка BGA216
Бортовой ST-LINK/V2-1 с поддержкой USB.[/spoiler]

Да у меня такая плата.

Для работы к следующему шагу готов.

[spoiler] Моя цель (необходимость) в изучении данной платы, это разработка устройства для подготовки газовой смеси. Мои коллеги утверждают что это не реально и отказываются делать. Я же вижу что система вполне будет работать, главное правильно настроить и автоматизировать. Коллеги работают с контроллерами компании ОВЕН что является не самым оптимальным вариантом (моё субъективное мнение). Я же с помощью Flprog сделал установку которая в 6 раз дешевле и работает не хуже Овна. Так что можете меня обвинять в коммерческом использовании и так далее, но зато я могу приобретать железо какое посчитаю необходимым.
Почему выбрал STM32F746G-DISCOVERY на STM32F746NGH6 Плата уже с емкостным дисплеем, шилдом под карту памяти. Единственное что не устроило, мало пинов для подключения устройств, но с этим разберёмся. Ну и после знакомства с ESP огорчился по поводу отсутствия wi-fi модуля. [/spoiler]
ecoins
Полковник
Сообщения: 4009
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 153 раза

Разработки ecoins

Сообщение ecoins »

ShishkaRoman писал(а): 09 дек 2020, 09:43 Моя цель (необходимость) в изучении данной платы, это разработка устройства для подготовки газовой смеси. Мои коллеги утверждают что это не реально и отказываются делать. Я же вижу что система вполне будет работать, главное правильно настроить и автоматизировать. Коллеги работают с контроллерами компании ОВЕН что является не самым оптимальным вариантом (моё субъективное мнение). Я же с помощью Flprog сделал установку которая в 6 раз дешевле и работает не хуже Овна.
Здорово! Наша позиция по оборудованию и средам для автоматизации в общем совпадает с Вашей.
Работаем с разными ПЛК - Delta, Schneider(разных поколений), ОВЕН (разных поколений). Помимо цены, иногда и надежности, при реализации некоторых задачах ощущение от ПЛК - неуклюжесть, громоздкости, избыточности, негибкости и т.п. FLProg это не только иной, на наш взгляд продвинутый взгляд на программирование в т.ч. и ПЛК (по сравнению с традиционными типа CodeSys, Delta и пр. - основа в них заложена 30-лет назад), но и возможность автоматизации, там где ПЛК не очень удобны ("умные" вещи, сенсоры, компактные устройства и т.п.).
Успехов Вам в Ваших планах.
ShishkaRoman писал(а): 09 дек 2020, 09:43 Почему выбрал STM32F746G-DISCOVERY на STM32F746NGH6 Плата уже с емкостным дисплеем, шилдом под карту памяти. Единственное что не устроило, мало пинов для подключения устройств, но с этим разберёмся. Ну и после знакомства с ESP огорчился по поводу отсутствия wi-fi модуля.
По Вашей плате. По пинам - познакомимся, напишу позднее. По дисплею - дисплей в комплекте это хорошо, но там есть свои ограничения, в том числе и по наработкам для FLProg. Сразу же предложу посмотреть хорошую работающую альтернативу - KaScada. Если надо как-то встроить планшет или смартфон в оборудование разработчик Rovki и быстро откликается, и имеет идеи и опыт подобных реализаций.
Отдельная тема дисплеи Nextion - мы уже сделали задел, но работа немного приостановлена из-за большой работой над обновлением нашей библиотеки RT_HW_BASE.h.
ShishkaRoman писал(а): 09 дек 2020, 09:43 Для работы к следующему шагу готов.

Вчера начали добавлять возможности работы с несколькими шинами i2c на одном контроллере (можно не только как master на разных скоростях), но и в сочетаниях master/slave на разных шинах.
У семейства STM32 есть небольшая специфика c i2c по сравнению с Arduino. Как технически сделать понятно, и сделано, и работает - а вот как оформить с возможностью дальнейшего гибкого развития(кол-во шин, разные архитектуры контроллеров) ищем подход. Сегодня зафиксируем промежуточные результаты и попробуем выложить тест:
1. Для STM32F103C (BLUEPILL_F103C) - обещали одному пользователю.
2. Для STM32F407V (BACK_407V).
3. Возможно успеем добавить Вашу плату, чтобы библиотека её видела и эмулировала как STM32F407V (уже можно будет работать).
Немного подождите.
Успехов.
alexcccp
Рядовой
Сообщения: 39
Зарегистрирован: 16 янв 2018, 18:53

Разработки ecoins

Сообщение alexcccp »

[ref]ecoins[/ref], здравствуйте!
Спасибо за блок MCP23017 он меня очень выручил!
штатный к сожалению с моим проектом дружить не стал.
Ваш работает замечательно!

однако есть проблема и с вашим блоком.
Так получилось, что мне нужно выделить по два пина в секции (B) на запись остальные чтение в не зависимости как будут настроены секции (A) на всех восьми MCP23017 :smile37:

GPB0 - Запись
GPB1 - Запись
GPB2-7 Чтение

Отсюда вопрос, я прекрасно понимаю что в блоке это не реализуется.
однако я смотрю вашу библиотеку (спасибо за то что она имеет отличное описание)

там есть данный кусок:
[spoiler]
//----Регистр А - ввод, регистр В - ввод---------------------------------------------------
case 0: hive.buff[0]=MCP_GPIOA; hive.qnt=2; read(z); z.inA=hive.buff[0]; z.inB=hive.buff[1]; break; //--Чтение регистров A и B и выход;
//----Регистр A- вывод, регистр B - ввод---------------------------------------------------
case 1: if(z.ok.runOutA){z.ok.runOutA=false; //--Проверка готовности данных для регистра A;
hive.buff[0]=MCP_GPIOA; hive.buff[1]=z.outA; hive.qnt=2; write(z);} //--Запись в регистр A;
hive.buff[0]=MCP_GPIOB; hive.qnt=1; read(z); z.inB=hive.buff[0]; break; //--Чтение регистра B и выход;
//----Регистр А- ввод, регистр B - вывод---------------------------------------------------
case 2: if(z.ok.runOutB){z.ok.runOutB=false; //--Проверка готовности данных для регистра B;
hive.buff[0]=MCP_GPIOB; hive.buff[1]=z.outB; hive.qnt=2; write(z);} //--Запись в регистр B;
hive.buff[0]=MCP_GPIOA; hive.qnt=1; read(z); z.inA=hive.buff[0]; break; //--Чтение регистра A и выход;
//--Регистр А - вывод; Регистр В - вывод----------------------------------------------------
case 3: if((!z.ok.runOutA) && (!z.ok.runOutB)) break; z.ok.runOutA=z.ok.runOutB=false;//--Проверка готовности данных для регистров A и/или B;
hive.buff[0]=MCP_GPIOA; hive.buff[1]=z.outA; hive.buff[2]=z.outB; hive.qnt=3; //--Транзакция для вывода регистров А и В;
write(z); break;
[/spoiler]

скажите, возможно четко указать необходимую мне привязку в самой библиотеке.
И будет ли это работать потом в вашем блоке :smile37:

Спасибо!
ecoins
Полковник
Сообщения: 4009
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 153 раза

Разработки ecoins

Сообщение ecoins »

alexcccp писал(а): 10 дек 2020, 22:56 Спасибо за блок MCP23017 он меня очень выручил!
штатный к сожалению с моим проектом дружить не стал.
Ваш работает замечательно!
Благодарю за высокую и эмоциональную поддержку.
alexcccp писал(а): 10 дек 2020, 22:56 однако есть проблема и с вашим блоком.
Так получилось, что мне нужно выделить по два пина в секции (B) на запись остальные чтение в не зависимости как будут настроены секции (A) на всех восьми MCP23017

GPB0 - Запись
GPB1 - Запись
GPB2-7 Чтение
Блок разрабатывался исходя из минимизации транзакций обмена по шине i2c - логика была такая - надо, можно лишний чип поставлен.
Но у Вас уже 8 чипов занято. 16х8=128 выводов - круто!
Интересно на каком контроллере это делается?
Сразу могу предложить вариант дополнительной шины i2c - многие проблемы снимутся. Такая возможность есть на STM32F1, STM32F4 - попробовали, устройства обнаруживаются.
Делать универсальный пользовательский блок - сложно прежде всего из-за сложности его описания для пользователя.
В Вашем случае может быть имеет смысл сделать спецблок специально под требование Вашей системы? В принципе это возможно сделать но:
1.Как-то не рационально, испытание проводить - стенд нужен под такое сочетание. Можно набросать что-то, но так чтобы Вы дальше сами тестировали.
Но все это напоминает "мастырку" :smile390: - интереснее, если бы Вы посмотрели в сторону второй шины i2c;
2.Уже на неделю задерживаем обещание выложить наработки по STM32 - cейчас все ресурсы на это направлены.
alexcccp писал(а): 10 дек 2020, 22:56 скажите, возможно четко указать необходимую мне привязку в самой библиотеке.
И будет ли это работать потом в вашем блоке
Место в библиотеке Вы верно установили. Там еще блок есть который настраивает направление для каждого пина - это коды 0х00 или 0хFF в зависимости от
выбираемого направления.
------------
Библиотеку мы будем дорабатывать:
1.Для того, чтобы она работала с разными шинами i2c;
2.Чтобы интегрировать в неё системные функции библиотеки RT_HW_BASE.h. После этого она утратит автономность, но будет более гибкой.
-----------
Пишите, задавайте вопросы, совместными усилиями Ваша ситуация как-то будет разрешена.
Успехов.
alexcccp
Рядовой
Сообщения: 39
Зарегистрирован: 16 янв 2018, 18:53

Разработки ecoins

Сообщение alexcccp »

ecoins писал(а): 11 дек 2020, 23:31 Но у Вас уже 8 чипов занято. 16х8=128 выводов - круто!
на самом деле не совсем, выводов занято ~ 60%
но сами чипы несколько удалены друг от друга.

отсюда невозможность использования встроенной библиотеки.
У нее есть проблема - полностью виснет контролер в случаи сбоя при передачи данных. Достаточно не большего импульса на шине, чтобы все встало наглухо. :shok:
ecoins писал(а): 11 дек 2020, 23:31 Интересно на каком контроллере это делается?
на Mega2560 но я уже сейчас вижу что она не тянет.

ecoins писал(а): 11 дек 2020, 23:31 направление для каждого пина - это коды 0х00 или 0хFF в зависимости от выбираемого направления
Да, это я тоже видел, но к сожалению не понял как поправить данный код под свою задачу.

ecoins писал(а): 11 дек 2020, 23:31 Можно набросать что-то, но так чтобы Вы дальше сами тестировали.
я не откажусь и буду благодарен, даже если он будет работать :smile390:
ecoins писал(а): 11 дек 2020, 23:31 все это напоминает "мастырку" - :smile390:
это так и есть. помимо того что у меня есть два злополучных выхода под индикацию к которым я привязан. так и еще один из выходов занимается чтением импульсов с таймера 555 - детектируя ее работоспособность MCP.
Я полагаю что опрос можно производить софтверно опрашивая шину

Действительно нужная опция в блоке 23017 это именно: маркер на связи MCP или нет.
сейчас пытаюсь разобраться как MCP работает напрямую через i2c

___

STM32 не пробовал но вижу одни плюсы, разрядность, частота, цена
alexcccp
Рядовой
Сообщения: 39
Зарегистрирован: 16 янв 2018, 18:53

Разработки ecoins

Сообщение alexcccp »

Заморочился, написал свой код проверки MCP23017
В С++ не силен так что если что не :smile390:


Исправил ошибку в коде

______
Тест MCP23017 v2
После подачи импульса на вход
Блок возвращает высокие уровни на подключенных MPC23017

Блок занимается поиском адреса MCP на шине I2C
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось alexcccp 12 дек 2020, 17:30, всего редактировалось 1 раз.
Закрыто

Вернуться в «Команда ecoins»

Кто сейчас на конференции

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