DMD_STM32 - версия библиотеки DMD для СТМ32Дуино

FoxJone
Offline
Зарегистрирован: 19.04.2019

Сегодня закончил последнее на этот год спортивное табло, 192*96 см.

От всех предыдущих отличается наличием связи по Ethernet. Первый связал Ethernet и STM, но теперь то будут отлетать, как пирожки - технологию отработал. Тем более, что последнюю партию контроллеров делал уже с посадочным местом под распайку стандартного шилда на enc28j60 (вот такого https://aliexpress.ru/item/1005001621773885.html?sku_id=12000016846771718), так что с интеграцией никаких проблем нету. СТМ прекрасно держит и Ethernet-сервер и DMD на одном чипе.

Вообще, общение по LAN мне очень понравилось, прямо даже захотелось сделать универсальную прошивку на контроллер под любые цели. Собственно, она уже частично есть, осталось только расписать настройки контроллера - смена IP-адреса и вообще сетевых настроек и смена параметров табло.

В связи с чем опять вопрос к Дмитрию: в старой (уже и не помню какой) версии ДМД мы делали, что можно было менять размер табло "на лету". В текущей версии это возможно? 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

FoxJone пишет:

Сегодня закончил последнее на этот год спортивное табло, 192*96 см.

и какова цена вопроса?

b707
Offline
Зарегистрирован: 26.05.2017

FoxJone пишет:

В связи с чем опять вопрос к Дмитрию: в старой (уже и не помню какой) версии ДМД мы делали, что можно было менять размер табло "на лету". В текущей версии это возможно? 


не могу сказать сразу, с тех пор я не отслеживал возможность создавать экземпляры классов ДМД динамически. Возможно, придется кое-что подправить.
Я сейчас не дома, вернусь через пару дней - посмотрю.

FoxJone
Offline
Зарегистрирован: 19.04.2019

ua6em пишет:
и какова цена вопроса?

Если про само табло, то тут я позволю себе умолчать, типа коммерческая тайна :) На самом деле этим вопросом у меня занимается специально обученный мальчик, который в любом проекте старается получить максимальную прибыль - ибо к окладу имеет с каждого проекта бонус в размере 10% от прибыли, а деньги он очень любит :) Лично я бы не факт, что продал бы по такой цене, потому что у меня наглости не хватает... Но разброс цен на спортивные (весовые, дорожные, остановочные - короче любые специализированные) табло такого размера идет от 100 до 200 тысяч. Притом цена мало зависит от функционала (если там ничего исключительного), а только от возможностей заказчика. Как эти возможности определяются - понятия не имею. Я общаюсь с заказчиком только на предмет обсуждения ТЗ - и это мое добровольное отстранение, потому что тупо не умею продавать. Есть прайс на стандартные табло и экраны с китайскими контроллерами, вот в пределах его я всегда могу сказать цену. К примеру обычное рекламное табло такого размера по прайсу у нас стоит 65 тыр - вот прям сегодня заказывай, завтра к вечеру заберешь.

Если про обвес, то в данном проекте был мой контроллер (производство китай, заказываю под ключ в jlcpcb, себестоимость около 20$ + доставка) + Ethernet (что то около 350 рублей) + реле (рублей наверное 120-150) + сирена (1300 руб за пару) + БП питания сирены (1500 руб). Итого не более 5000 в сумме. Точных цен не скажу, потому что это все я покупал не сейчас, а давно, у меня всякого хлама в запасах есть обычно, на любой проект всегда что то найдется. Те же далласовские часы и термодатчики (любит народ часы-метеостанции) я покупаю десятками по мере истощения запасов.

Дополнительно была написана прошивка под контроллер и программа на ПК. Ну как написана... И то и то написано уже давно (мною же) и сейчас просто адаптировано под Lan. Потратил на это 3 дня, из которых 2 дня тупо изучал связь STM и enc28j60, крутил разные варианты передачи данных... Была мысль сделать связь по UDP, но откровенно не осилил за столь краткий срок (сроки традиционно горели).

Как оценивать работу программиста в этом случае, я понятия не имею, потому что я ему не плачу - сам пишу. А мне тоже никто не платит, потому что я сам себе с прибылей получаю... За декабрь это второй проект спец-табло. То есть выжить на это крайне сложно. Благо, за тот же декабрь я отгрузил обычных рекламных экранов на полсотни квадратов - что и является моим основным бизнесом. А это просто калым и хобби.

alexalnik
Offline
Зарегистрирован: 15.01.2022

Добрый день, b707! 

Имеется экран, собранный из шести панелей DMD P10 3х2. Родной контроллер для загрузки программ через флэшку изъял. Данные для отображения будут прилетать по радиомодулю RF24, подключенному к ардуино (Arduino Nano). Отображаться будет время прохождения трассы горнолыжником (для любительской команды). Читая описание DMD библиотеки увидел что подключать второй ряд панелей нужно развернув их кверху ногами, но (как тут обсуждалось) это неправильно из за козырьков над светодиодами.

Подскажите пожалуйста:
1) Поддерживает ли стандартная DMD (DMD2) соединение панелей без переворачивания ряда?
2) Стоит ли пробовать использовать имеющееся ардуино нано или перейти на STM и использовать обсуждаемую здесь библиотеку

 

 

b707
Offline
Зарегистрирован: 26.05.2017

alexalnik пишет:

Читая описание DMD библиотеки увидел что подключать второй ряд панелей нужно развернув их кверху ногами, но (как тут обсуждалось) это неправильно из за козырьков над светодиодами.

неверно поняли... Библиотека поддерживает как подключение зигзагом (с разворотом каждого второго ряда вверх ногами), так и стандартное подключение без разворота панелей. Можете подключать так, как вам удобнее.

подробнее тут, раздел "Подключение панелей: https://github.com/board707/DMD_STM32/wiki/Connecting-for-Monochrome-(rus)

Цитата:
Подскажите пожалуйста:
1) Поддерживает ли стандартная DMD (DMD2) соединение панелей без переворачивания ряда?

- поддерживает

Цитата:
2) Стоит ли пробовать использовать имеющееся ардуино нано или перейти на STM и использовать обсуждаемую здесь библиотеку

Не знаю, решать вам. Я давно не работаю с панелями на платах АВР, поэтому выступаю за СТМ

 

 

 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

FoxJone пишет:

 А это просто  хобби.

ОК!

b707
Offline
Зарегистрирован: 26.05.2017

Обновление - версия v0.6.11

  https://github.com/board707/DMD_STM32/tree/dev-V2

   Изменения:

    - исправлено неправильное определение границ движущейся строки для национальных фонтов - баг, описанный Antsanv  в #395
    - исправлен баг с неверным определение высоты стандартного фонта (по наводке FoxJone)
    - убраны артефакты при вертикальной прокрутке в режиме Parallel Monochome

  Добавлена возможность выбирать используемые таймеры - пока можно выбрать из двух комбинаций :

Стандартная

        Основной таймер - Timer4
        OE таймер - Timer3  (соответственно возможные пины для OE - PA6 PA7 PB0 PB1)

Альтернативная
        Основной таймер - Timer3
        OE таймер - Timer4  (пины для OE - PB6 PB7 PB8 PB9)

В дальнейшем планирую добавить еще и Timer2, что позволит запускать библиотеку на младшем МК F103C6, у которого нет Timer4.

Жду откликов :)  Огромное спасибо тем, кто сообщает об ошибках.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Дима, а чего библиотеку по стандартам IDE не дооформишь? Для полного фэншуя так сказать...

FoxJone
Offline
Зарегистрирован: 19.04.2019

ua6em пишет:
FoxJone пишет:
А это просто  хобби.

ОК!

Ну, то что это хобби, не означает, что изделие не качественное. Вполне полноценное индустриальное изделие (у меня же цех по производству экранов), надежное и ремонтопригодное (блочный ремонт - замена блока делается за несколько минут). ПО тоже отработано. Та же программа на спортивные табло написана мною уже 4 года назад (писал ее где то 3 месяца, но с отрывами на другие проекты) и с тех пор регулярно дополняется и улучшается. 

Кроме того, все что я делаю имеет отличительную способность - все сделано с расчетом, что будет пользоваться круглый ноль в IT (или 5-летний ребенок). То есть максимально простой интерфейс. Подавляющее большинство программистов грешат сложными интерфейсами и сами этого не замечают - потому что для них там все просто!

Так что хобби - это в смысле, что это не основной бизнес. Ну и мне действительно интересно этим заниматься :)

b707
Offline
Зарегистрирован: 26.05.2017

ua6em пишет:

Дима, а чего библиотеку по стандартам IDE не дооформишь? Для полного фэншуя так сказать...

а что там не хватает?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

b707 пишет:

ua6em пишет:

Дима, а чего библиотеку по стандартам IDE не дооформишь? Для полного фэншуя так сказать...

а что там не хватает?

keywords.txtlibrary.properties и библиотеки в каталог SRC

b707
Offline
Зарегистрирован: 26.05.2017

ua6em пишет:

библиотеки в каталог SRC

src вовсе не обязательно, такого правила нет, насколько я знаю.

Кейвордс и пропертис сделаю.... когда-нбдь :)

 

Хотя, конечно, в случае keywords это вопрос... это надо каждый метод и каждую константу там перечслить? - у меня их, наверно, сотни... И все только ради того, чтобы они расцвечивались в Ардуино ИДЕ?

Хотя не вопрос, если кто-то из пользователей попросит - сделаю...

b707
Offline
Зарегистрирован: 26.05.2017

Думаю сделать ветку dev-V2 (это та где RGB матрицы) дефолтной веткой на гитхабе . Есть возражения?

ProTim
Offline
Зарегистрирован: 26.04.2021

Добрый вечер. Решил попробовать новую версию 0.6.11, подключаю схему по примеру DMD PARALEL, загораются только несколько пикселей. Пример запускается только если я подключаю SCKL к пинам PA12 или PA13, хотя на скетче указан PA15 и все пиксели рядом с текстом немного светятся. Пробовал другой контроллер Blue pill ,то жэ самое. И контроллер, и панели с предыдущей версией 0.4.2 работали отлично. Там есть какой то секрет или я что то делаю неправильно?

b707
Offline
Зарегистрирован: 26.05.2017

ProTim, перечислите, к каким пинам что подключено.

какой именно пример запускаете?

 

=== дополнено позже ===

Только что попробовал версию 0.6.11 на режиме Монохром Параллельный

Пины и инициализация:

01#define DMD_PIN_A PA1
02#define DMD_PIN_B PA3
03#define DMD_PIN_nOE PB1
04#define DMD_PIN_SCLK PA15
05 
06// pins for SPI connect
07// SPI specific pins as CLK and R_DATA has predefined values:
08//   for SPI(1) CLK = PA5  R_DATA = PA7
09//   for SPI(2) CLK = PB13  R_DATA = PB15
10// --------------------------------------------------------
11 
12uint8_t pins[] = { PA5, PA7, PA6 };  // CLK , row1, row 2
13 
14//Fire up the DMD object as dmd
15DMD_Monochrome_Parallel dmd(DMD_PIN_A, DMD_PIN_B, DMD_PIN_nOE, DMD_PIN_SCLK, pins, DISPLAYS_ACROSS, DISPLAYS_DOWN,ENABLE_DUAL_BUFFER);

Работает без проблем

ProTim
Offline
Зарегистрирован: 26.04.2021

Пини как на примере dmd-monochrome , сам пример без изменений

01#define DMD_PIN_A PA1
02#define DMD_PIN_B PA4
03#define DMD_PIN_nOE PB1
04#define DMD_PIN_SCLK PA15
05 
06// pins for SPI connect
07// SPI specific pins as CLK and R_DATA has predefined values:
08//   for SPI(1) CLK = PA5  R_DATA = PA7
09//   for SPI(2) CLK = PB13  R_DATA = PB15
10// --------------------------------------------------------
11 
12//=== Config for Parallel connect ====
13#if defined(DMD_PARA)
14//pins for rows at x axis
15// example for two rows
16// all those pins must be selected from same port!
17uint8_t pins[] = { PA5, PA7, PA6 };  // CLK , row1, row 2
18 
19//Fire up the DMD object as dmd
20DMD_Monochrome_Parallel dmd(DMD_PIN_A, DMD_PIN_B, DMD_PIN_nOE, DMD_PIN_SCLK, pins, DISPLAYS_ACROSS, DISPLAYS_DOWN,ENABLE_DUAL_BUFFER);

 

b707
Offline
Зарегистрирован: 26.05.2017

В чем выражается не работа?

ProTim
Offline
Зарегистрирован: 26.04.2021

При включении появляется несколько вертикальных полос, движения нет, яркость меняется. Программа инициализирует SCLK как PA15, если переключиться на PA13 начинает работать бегущая строка, но с лишними пикселями и слабым фоном. Те же помехи при инициализации как PA13. 

b707
Offline
Зарегистрирован: 26.05.2017

Pa15 - это пин CLK, а не SCLK, будьте внимательны

ProTim
Offline
Зарегистрирован: 26.04.2021

Из Вашего примера: #define DMD_PIN_SCLK PA15

b707
Offline
Зарегистрирован: 26.05.2017

Да, это я сам невнимателен, перепутал с rgb матрицами.
Тогда сходу ничего посоветовать не могу.
Если у меня работает, а у вас нет - надо искать чем отличаются наши конфигурации.
Если не горит - давайте спишемся в понедельник, я сейчас на выезде.

vadim_kkkk
Offline
Зарегистрирован: 21.07.2019

Здравствуйте !

А может Вы сможете адаптировать библиотеку, под ядро от самой ST

https://github.com/stm32duino/Arduino_Core_STM32

Под ядром от Роджера Кларка она работает, но ядро от ST более перспективное на мой взгляд.

Я пробовал сам но, ума не хватило, но понял что там не много, синтаксис таймеров подправить, и немного DMA и SPI.

С уважением и благодарностью.....

b707
Offline
Зарегистрирован: 26.05.2017

Здравствуйте, добавление Стм-аддона в планах, но не в первой очереди.

b707
Offline
Зарегистрирован: 26.05.2017

Искал, какую бы картинку вывести на матрицу для примера. Оказалось очень сложно подобрать, потому что пиксельное разрешение низкое, цветовая глубина ограничена, картинки начинаешь конвертить - на светодиодной матрице полная фигня выходит.  А тут жена мне подсказала - посмотри мол, узоры для вышивки. Глянул - и правда, в инете их сотни, там такие сюжеты, и монохром, и в цвете... и главное - они уже на пиксели расерчены :)

или вот, например, чем не готовый шрифт в старославянском стиле :)

бери и перерисовывай по точкам :)  https://www.pinme.ru/pin/53c9d7c21f8511db2c3a47c7/

Взято отсюда https://www.pinme.ru/u/yavazhure/slavyanskaya-vyishivka-shemyi-uzoryi/

b707
Offline
Зарегистрирован: 26.05.2017

Обновление - версия v0.7.0

  https://github.com/board707/DMD_STM32/tree/dev-V2

   Релиз является подготовкой к добавлению поддержки чипов STM32F4, поэтому код опять перепахан вдоль и поперек.

  Новые возможности:

   - добавляена поддержка уличных RGB матриц 1/2 1/4 скан, попутно изменен внутренний формат представления данных для режима RGB... впрочем, это уже детали...
   Посколько типов сканирования уличных матриц у китайцев существует десятки видов, то очевидно что описанных в библиотеке 4х разновидностей не хватит.  Будем добавлять по ходу. Положил в примерах специальный скрипт dmd_rgb_pattern_test.ino. Если у вас есть уличная матрица, которая не работает ни с одним шаблоном библиотеки - запускаете тест, снимаете результат на видео и присылаете мне.

   - в Монохром Параллельном режиме добавлена возможность выбора ДАТА пинов не только в нижней, но теперь и в верхней половине GPIO порта (замедляет вывод, без необходимости не использовать)
   - добавлен новый файл DMD_Config.h. в котором будут собираться различные настройки библиотеки, не требующие постоянного изменения, такие как выбор таймеров или частота ШИМ
  - обновлены примеры, добавлен новый скетч с выводом картинки из битмап

   Так же много мелких правок и исправлений, на 15% снижен расход RAM в режиме Монохром-СПИ, на 10% снизился размер кода в Параллельном режиме и тд и тп...

  

 

Огромное спасибо тем, кто сообщает об ошибках.

sav13
sav13 аватар
Offline
Зарегистрирован: 17.06.2013

Доброе время суток

Подключил монохромные панели от P10.ru

https://p10.ru/product/svetodiodnyj-modul-p10-krasnyj-meiyad/

К голубой таблетке как в примере dmd_monochrome.ino:

nOE      PB1
A          PA1
B          PA4
SCLK    PA15
CLK      PA5
R          PA7

Код запустился, но появляется какая то паразитная засветка. Очень похоже на проблему в посте #419
То есть если я вывожу линию в 0-ю строку, то с небольшой яркостью горят строки 1,3,4,7,8,11,12,15

Если выдать прямоугольник, например 8x8 - засветка появляется во всех оставшихся пикселях

Менял интерфейсы SPI1, SPI2, PARA, разные платы STM32, провода. и LED-панели. Ничего не меняется

Заметил, что при отключении провода SCLK тоже ничего не меняется. Пробовал его на разные ноги сажать.

Библиотеки пробовал 7.0.0 и 0.6.3

 

b707
Offline
Зарегистрирован: 26.05.2017

Похоже на наводки. Для начала убедитесь, что все контакты подключены надежно, особенно GND. Землю на разъеме HUB12 желательно подключать ко всем "земляным" пинам, а не только к одному.

Далее попробуйте выводить сигналы через преобразователь логических уровней

Напишите о результате

 

sav13
sav13 аватар
Offline
Зарегистрирован: 17.06.2013

b707 пишет:

Похоже на наводки. Для начала убедитесь, что все контакты подключены надежно, особенно GND. Землю на разъеме HUB12 желательно подключать ко всем "земляным" пинам, а не только к одному.

Далее попробуйте выводить сигналы через преобразователь логических уровней

Напишите о результате

Добавил земляных проводов, проверил подключение остальных - результата нет

Пробовал полностью заменить кабель HUB12 - результата нет

Подключил через преобразователь уровней TXS0108E стало хуже, пикселы местами стали как-то периодически подергиваться. Похоже, преобразователь частоту SPI не держит. Или помех стало больше

Запитал МК и модули от другого источника питания - результатов нет

Уменьшил тактовую частоту SPI до 1Мгц - ситуация ухудшилась !!! Полоски стали ярче

Увеличил тактовую частоту SPI до 18МГц - ситуация улучшилась (правда увы не до конца)

 

FoxJone
Offline
Зарегистрирован: 19.04.2019

Либо модули не те, либо что то не так подключаете. Где то были у меня мейадовские модули, сейчас попробую.

А можете фото подключения показать?

b707
Offline
Зарегистрирован: 26.05.2017

sav13, а вы территориально где? - страна, город

sav13
sav13 аватар
Offline
Зарегистрирован: 17.06.2013

FoxJone пишет:

Либо модули не те, либо что то не так подключаете. Где то были у меня мейадовские модули, сейчас попробую.

А можете фото подключения показать?

Синий        - nOE   - PB1
Зеленый     - A       - PA1
Желтый      - B       - PA4
Оранжевый - CLK   - PA5
Красный     -  SCLK - PA15
Коричневый - R      - PA7
Черный        - GND

b707
Offline
Зарегистрирован: 26.05.2017

sav13,, перед тем как подключить эту библиотеку - вы вроде пробовали какие-то другие? С ними нормально работало? - если да. опишите подробнее

sav13
sav13 аватар
Offline
Зарегистрирован: 17.06.2013

b707 пишет:

sav13,, перед тем как подключить эту библиотеку - вы вроде пробовали какие-то другие? С ними нормально работало? - если да. опишите подробнее

До этого подключал DMD32 к ESP32 - правда мог там внимание мог не обратить на засветку. Там пример был динамический

Сейчас по быстрому подключил к Arduino UNO. Библиотека DMD2 c классом SoftDMD

Все нормально. Та же линия

b707
Offline
Зарегистрирован: 26.05.2017

sav13 пишет:

Сейчас по быстрому подключил к Arduino UNO. Библиотека DMD2 c классом SoftDMD

я бы все-таки попробовал еще раз с каким-нибудь другим пробразователем уровня, не через TXS0108E.

С TXS0108E у меня тоже были большие проблемы, на форуме есть ветка об этом

И еще - вы не ответили, в каком вы городе. Я в МО, если вы недалеко - мог бы взять у вас одну панель и проверить.

 

ЗЫ кстати - а СТМ32 оригинал?

sav13
sav13 аватар
Offline
Зарегистрирован: 17.06.2013

b707 пишет:

я бы все-таки попробовал еще раз с каким-нибудь другим пробразователем уровня, не через TXS0108E.

С TXS0108E у меня тоже были большие проблемы, на форуме есть ветка об этом

И еще - вы не ответили, в каком вы городе. Я в МО, если вы недалеко - мог бы взять у вас одну панель и проверить.

 

ЗЫ кстати - а СТМ32 оригинал?

Из Перми я. 

Сейчас поищу преобразователь. Если не найду, сам на фетах сделаю по быстрому. А нужен ли преобразователь? Там же все данные в одну сторону идут. Может просто делитель поставить на резисторах?

На одной пилюле стоит CKS32, на второй на вид оригинал (я ее давно покупал). Разницы в работе нету никакой. Шью через ST-Link китайский

b707
Offline
Зарегистрирован: 26.05.2017

sav13 пишет:

А нужен ли преобразователь? Там же все данные в одну сторону идут. Может просто делитель поставить на резисторах?

делитель хорошо работает от большого напряжения к маленькому, а тут надо наоборот.

Цитата:
На одной пилюле стоит CKS32

на CKS32 не работает, тут в ветке человек уже отписывался, картинка у него похожая была.

b707
Offline
Зарегистрирован: 26.05.2017

sav13 пишет:

Из Перми я.

если как-то просто победить не выйдет - можете мне выслать одну панель, транспортной компанией за неделю дойдет.

sav13
sav13 аватар
Offline
Зарегистрирован: 17.06.2013

b707 пишет:

если как-то просто победить не выйдет - можете мне выслать одну панель, транспортной компанией за неделю дойдет.

Попробовал ESP32 с библиотекой DMD32 на аппаратном SPI. Все работает без этих полос. А у ESP 3-х вольтовая логика. Может дело и в фейковых чипах STM. 

b707
Offline
Зарегистрирован: 26.05.2017

sav13, не знаю, что предложить в вашем случае. На самом деле, мне очень интересно понять, откуда берутся эти полосы. С другой стороны - не знаю, как это можно выяснить, не имея в руках ваших панелей.

jdigreze
Offline
Зарегистрирован: 14.01.2018

По поводу преобразователей. Я последнее время ставлю 74hc245. На коротких шлейфах и без них работает, но с ними стабильнее, особенно цветные матрицы.

Еще из любопытных наблюдений: на одиночные матрицы даже питание подавать не надо, не очень ярко, но показывает. Как-то даже землю на цветных отключил - все равно показывают. Видимо защитные диоды на входах м/с не такие уж и слабые.

FoxJone
Offline
Зарегистрирован: 19.04.2019

jdigreze пишет:

Еще из любопытных наблюдений: на одиночные матрицы даже питание подавать не надо, не очень ярко, но показывает. Как-то даже землю на цветных отключил - все равно показывают. Видимо защитные диоды на входах м/с не такие уж и слабые.

Совсем не новость, но увлекаться этим не стоит. Я таким образом уже пару контроллеров спалил. То есть модуль питается через порты контроллера, а порты на это не рассчитаны.

vadim_kkkk
Offline
Зарегистрирован: 21.07.2019

Здравствуйте.

Загрузил пример для Stm32 новой версии библиотеки файл dmd_monochrome.ino

Исправил только
#define DISPLAYS_DOWN 2

на
#define DISPLAYS_DOWN 1

ну и закомментировал //#define DMD_PARA

Панель обычная 32 *16 с предыдущей версией библиотеки работала корректно

В этом примере при движении бегущей строки влево, не добегает 5 пикселей...

Помогите кто знает ???

b707
Offline
Зарегистрирован: 26.05.2017

vadim_kkkk пишет:

В этом примере при движении бегущей строки влево, не добегает 5 пикселей...

так и задумано.

Это демострация работы двойного буфера.

Чтобы строчка добегала до самого края - закооментируйте 170 строку примера

1if (step[i] != 1) dmd.drawFilledBox(0, 0, 5, dmd.height() - 1, GRAPHICS_INVERSE);

 

vadim_kkkk
Offline
Зарегистрирован: 21.07.2019

Спасибо. Разобрался двойной буфер полезная штука.

Сейчас пробую Вашу первую  библиотеку на stm32f103vet6 , который выбрал из за большого количества таймеров очень нужны для проекта,всё работает

но вот столкнулся с проблемой , у Вас используются таймеры 3,4 , но стоит запустить ещё таймер 2 или 1 и попытаться выполнять  функции по времени и панель зависает хаотичными точками.

Кто знает почему...

vadim_kkkk
Offline
Зарегистрирован: 21.07.2019

Удалите пожалуйста предыдущее сообщение и это

сам ошибся....

b707
Offline
Зарегистрирован: 26.05.2017

vadim_kkkk пишет:

Сейчас пробую Вашу первую  библиотеку на stm32f103vet6 , который выбрал из за большого количества таймеров очень нужны для проекта,всё работает

"Первую библиотеку" - это какую?

Кстати, если вам нужна помощь с проектом - обращайтесь, я пишу для СТМ32

FoxJone
Offline
Зарегистрирован: 19.04.2019

В качестве апа.

Дмитрий улучшает свою библиотеку уже много лет и столько же лет я под нее создаю контроллеры. Медленно, но верно улучшая их функционал, благо задачи для них всегда находятся и практическое применение позволяет постоянно тестировать и находить новые функции. В среднем выпускаю по 2-3 новых версий в год. В четверг получил новую партию и хочу похвастаться.

Минимальная версия - чип, выход Hub12, выход RS-485, питание 5 вольт. Разведены посадочные места под I2C (часы, датчики и прочее), 1-Wire, Ethernet модуль ENC28J60, выход UART2 (подключить ESP-01 и прочее), приемник 433 Мгц и USB. Ну и все свободные ноги МК тоже выводятся на посадочные места, так что всегда можно припаять хоть диод, хоть реле, хоть еще что.

И версия с встроенным сервером - собственно почти все тоже самое, но дополнительно на борту имеется достаточно мощный Ethernet-чип, на котором можно развернуть аж целых 2 независимых сервера (например один получает по TCP, а второй по UTP).

Так что если вдруг кому то надо готовых устройств, то их есть у меня...

mixail844
Offline
Зарегистрирован: 30.04.2012

FoxJone пишет:

И версия с встроенным сервером - собственно почти все тоже самое, но дополнительно на борту имеется достаточно мощный Ethernet-чип, на котором можно развернуть аж целых 2 независимых сервера (например один получает по TCP, а второй по UTP).

какой чип ?  если не секрет .по фотке не разобрать

FoxJone
Offline
Зарегистрирован: 19.04.2019

CH9121. На входе Lan, на выходе 2 канала UART, каждый из которых можно настроить на отдельный сервер. То есть чип получает посылку из сети, расшифровывает ее и выплевывает полученные данные в UART (только данные, без заголовков и прочей технической информации). Ну и наоборот - из UART в сеть. Очень удобно. Поддерживает 4 режима - клиент и сервер по TCP и UDP.