Таймкоды: 00:00 Приветствие и поздравление с Рождеством. 00:24 Что будет использоваться в проекте. 00:43 Привет "пацанам" из комментариев про крючок (из обзора ЭБУ). 😉 01:08 Про желание удивить зрителей. Зрители RUclips (и не только) любят "шоу". 01:40 Что будет реализовано в этом проекте "выходного дня". 02:30 STM32CubeIDE. Про настройку подключения дисплея (настройка spi и управляющих выходов gpio). 04:43 Про индикацию приема/передачи данных по USB. 05:06 Про настройку USB. Класс CDC (Virtual Port Com). 06:44 Про приоритеты прерываний. 07:20 Настройка тактирования ядра и периферии. Условие работы USB. 09:12 Настройка проекта. Библиотеки для настройки и работы с периферией. Ограничения драйвера USB Device от STM. 11:29 Обработчики прерываний: systick, dma, usb. 12:48 Объявление и инициализация глобальных переменных, в том числе, буфера для приема данных. Подключаемые к проекту библиотеки. 17:01 Организация приема данных по USB в режиме двойного буфера. Обработчик CDC_Receive_FS. Пакетный прием. Признаки последнего пакета данных для текущей передачи (сообщения). 24:23 О возможностях разгона ядра м/к stm32f401ccu6. Программная реализация. Ограничения в случае использования USB Device. 26:01 Формирование сообщения от клиента серверу о разрешении дисплея, подключенного к м/к, и максимальном размере файла. 30:50 Прием, декодирование и вывод на дисплей изображений, полученных от сервера. Переключение двойного буфера. Разрешение на прием нового пакета данных. 35:50 Микроконтроллер "не управляется по проводкам"... 😉 38:06 Visual Studio 2022. Программа для сервера (компьютера). Почему кодируем изображение в jpeg, а не передаем простым потоком "как есть". 41:21 Скриншоты с использованием GDI, масштабирование и кодирование изображений в jpeg. 41:44 Интерпретация сервером сообщения, полученного от клиента, с настройками jpeg кодирования. Регулярные выражения. "Внутренние стандарты" проекта: формат, разрешение и размер файла. 45:56 Кодер jpeg. Спасибо его автору. 48:29 "Бесконечный цикл" сервера. Подстройка сервером качества кодирования jpeg в целях не превышения максимального размера файла. Минимальное качество кодирования. Последствия для клиента при превышении сервером максимального размера файла. 51:44 Подключение микроконтроллера к компьютеру. Обнаружение операционной системой устройства с последовательным интерфейсом. Просмотр диспетчера устройств. Запуск серверной программы и выбор порта, к которому подключен микроконтроллер. 54:13 Вывод на дисплей уменьшенной копии рабочего стола. Демонстрация работы. Выводим изображение рабочего стола Windows на внешний дисплей с помощью микроконтроллера. USB CDC Virtual COM Port, кодер и декодер jpeg. Клонирование изображения рабочего стола Windows на дисплее, подключенном к микроконтроллеру. Виртуальный COM порт. JPEG кодирование и декодирование. Проект демонстрирует работу с виртуальным COM портом. Воспроизведение потокового видео (motion jpeg). Сервер (компьютер) постоянно делает скриншоты рабочего стола, кодирует их в jpeg и передает клиенту (микроконтроллеру) через USB (виртуальный COM порт). Микроконтроллер декодирует изображение и отображает его на дисплее. Что потребуется: Отладочная плата на базе stm32 - blackpill stm32f401ccu6 Дисплей - st7789 или ili9341 (и совместимые с ними. Проект собран для дисплея st7789!). Как использовать: 1. Подключите дисплей к отладочной плате согласно таблице подключений: LCD_DC PA2 LCD_RES PA3 LCD_CS PA4 LCD_SCL PA5 LCD_BLK PA6 LCD_SDA PA7 2. Подключите прошитую плату микроконтроллера к USB разъему компьютера (папка Release, файл для прошивки stm32f401ccu6_usb_virtual_com_port.hex Внимание. Прошивка для дисплея ST7789. При использовании дисплея ILI9341 необходимо пересобрать проект, указав требуемые параметры дисплея при вызове функции LCD_DisplayAdd в main). 3. Запустите серверную программу из папки Terminal\Release\Terminal.exe (это проект для компьютера). 4. Выберите com-порт, к которому подключен микроконтроллер. Узнать требуемый COM порт можно из диспетчера устройств. Он будет подписан, как "Устройство с последовательным интерфейсом USB (COM номер такой-то)" в разделе "Порты (COM и LPT)". Если все сделано правильно, то на дисплее, подключенном к микроконтроллеру, вы увидите копию того же изображения, что можете наблюдать на мониторе компьютера. Автор: dzen.ru/vadrov www.youtube.com/@VadRov t.me/vadrov_channel github.com/vadrov Исходный код проекта: github.com/vadrov/stm32f401ccu6-usb-vcp-clone-windows-desktop-to-display Кодер jpeg: jpeg-compressor Public Domain or Apache 2.0, Richard Geldreich github.com/richgel999/jpeg-compressor
Спасибо. Я хотел запилить видосы по asm на stm. Даже материал в прошлом году набрасывал, ужимал и т.п. Шпаргалку готовил в форме презентации... Но материала там надо приложить море... На несколько часов. Статистика же просмотров и комментарии показывают (намекают), что asm практически никого не заинтересует. Вообще люди не любят смотреть такие видео. А видео, подобные этому, смотрят. Грубо говоря, я отниму от жизни некоторое значительное количество времени на видео по asm, а оно никому не надо, от слова "совсем". При этом видео по ASMу, по нормальному - это несколько часов тягомотины. Не зайдет оно. По ASMу чтива в форме PDF-ок в инете много. От просмотра видео точно легче не станет. В универе по ASMу целый курс. Тут в несколько видео не уложить. Тут сериал нужен...
Ну если гнаться за просмотрами, тогда нужно посадить тёлку в топике, каторая через каждые пять секунд крандашь раняет, а потом нагибается, что бы поднять. На вычислительную тематику, простой народ загнать не особо получится. разве что копи пастеров. Конечно мотериала много в тексте, и на англиском, однако читать, время займёт не мало. Да и расписовать особо не нужно команды, главное структуру обозреть, имена регистров адресациию, основные вызовы. Потом может самому пригодится. z80 - тоже есть почитать в инете, но видео всё же запилил. @@VadRov
@@vsosacordeev , дело-то вовсе не в просмотрах, а в их качестве. Видео на полтора часа смотрят со средним временем просмотра не более 3 - 4 минут. Поэтому длинные видео снимать вообще смысла нет. В короткое не уложишься. Что касается того, что для себя пригодится, то у меня есть всегда "шпаргалка" под рукой и доки от ARMa. Если выкрою время, то попробую ролик заснять обзорный минут на 30. Может, кого и мотивирует изучать ASM. 🙂 Хотя, мне вчера писали, что ASM - путь для отсталых от цивилизации (типа того) 🙂 C z80 смысла сравнивать нет, как и с 8051. Материал по ARMу на порядки больше. Да, и архитектура с системой команд не чета вышеуказанным.
Спорить не буду! мне ещё лет 20 назад говарили тоже самое про асм, мол это путь в никуда. Это конечно меня смешило до не немогу, да и теперь, радует не мение. @@VadRov
Емае , нормально ты так в своем познании преисполнился ,выглядит очень серьезно )). Если бы дисплей с тачем был , ты бы еще и курсором управлял небось...)) Очень мотивирует ,пойду "Hello World" в printf напишу .Спасибо
Всему свое время. 🙂Ярым/отчаянным противником не был, тем более, LL. LL я наоборот, можно сказать, популяризирую у себя на канале. HAL, кстати, идеален для проектов "выходного дня", когда надо что-то быстро сделать и также быстро забыть. 🙂 Также HAL хорош в плане знакомства с исходным кодом, чтобы посмотреть как надо сделать и сделать по-своему. Писать драйвер на CMSIS/регистрах для USB F4 ради этой безделушки... Нет уж, увольте 😉А той скорости, что предоставляет стандартный драйвер, как я сказал в видео, вполне достаточно.
@@openFrimeTv , все равно все стараются писать свои библиотеки, вынося "регистры" в отдельные функции, чтобы минимум переделок делать (и знать, где их быстро делать) при переходах от серии к серии и от м/к к м/к. При этом все равно часто пишут вспомогательные прослойки/переадресации типа структура-регистр-данные и т.п. Вы удивитесь, но ряд компаний (причем, достаточно крупных), нанимая embedded разработчиков на первое место в требования ставят "хорошие знания HAL". При этом Вы там никого не удивите, если на собеседовании скажете, что можете "прогать на регах и асме". 😒
Товарищи, зафиксирован первый случай реального применения проекта! А то писали, мол, бесполезная ерунда (типа того). А тараканы они же жильцы-соседи и им положены все удобства. Там можно для них кинозал организовать, если дисплей в банку положить 😂Придется выпускать версию со звуком.
Ну, да, мы тут, в комментариях, уже договорились, что будем делать кинозал для тараканов на кухне. Так что, наверное, придется версию со звуком выпускать. 😂
+ если сделать драйвер для линукса то можно с помощью одноплатников делать мини ноутбуки ( вариантов где нужен маленький компьютер и маленький ПК очень много)
Слишком ресурсоемкий вариант, да, и все-таки кодек с потерями, а не lossless.Для таких-целей проще написать на м/к с дисплеем программу терминал. Я делал давным-давно что-то подобное, сейчас уже и исходников не найду.
Ожидал какой-то "магии", какого-то нестандартного решения вместо софта, который через ком-порт байты пересылает. Чего-то вроде драйвера на уровне, близком к ядру системы и очень оптимизированным и устройства, которое как-то читает буфер видеоядра и декодирует, чего-то такого. Бесконечный цикл в коде постоянно нагружает процессор, плюс тяжелые операции с изображением - существенный недостаток такого подхода
А смысл? Проект "выходного дня" того заслуживает, чтобы превратиться в проект "выходного месяца"? Можно было бы делать те же скриншоты, например, применяя DireсtX. Можно было бы написать поточное приложение под Windows. Можно было бы драйвер USB для м/к с нуля написать на CMSIS/регистрах. Можно было бы... и т.д. и т.п. А кому это надо? 99% код смотреть не будут, а посмотрят 1 минуту видео в конце, где будет тот же результат, что и без всего этого, что я перечислил, но с тем, что имеется по факту. Достаточно того, что был оптимизирован jpeg декодер. А теперь Вам главный вопрос. Вот все Вы правильно написали о своих ожиданиях. Внимание. Скорость передачи теоретическая для USB FS, если тупо гнать поток и не обрабатывать его (т.е. на стороне клиента вообще никаких задержек - он просто принимает и все) 12 Мбит/с. Разрешение нашего дисплея 240х240 пикселей по 2 байта на пиксель, итого 115200 байт в одном только кадре. Сколько кадров можно уложить в 12 Мбит/с, если не применять "тяжелых операций с изображением" (понятно, что мы даже вывести не успеем изображение на дисплей)? Как можно обойтись без "тяжелых операций с изображением" на стороне сервера/компьютера, если изображение надо масштабировать/уменьшать и применять специальные алгоритмы расчета цвета в каждой точке, чтобы изображение было внятным при таком значительном уменьшении? Так ли сильно нагружает бесконечный цикл процессор при передаче данных в порт в синхронном режиме? Асинхронный режим нагрузит меньше? И предлагаю Вам реализовать свои ожидания. С удовольствием посмотрел бы на реализацию. 🙂
Блин, прикольно, но зачем?) Вот честно, именно в f401, с таким экранчиком применения смысла нет, если же тупо не выводить по usb какую-нибудь информацию, которая, скорее всего, никому не нужна, ибо usb лишний раз занимает. С каким-нибудь H7 мк еще понимаю, там хоть интерфейсы есть нормальные для вывода на экран, и то, там этого мк на нормальное разрешение не хватит. А так, если тупо поставить в какой-нибудь умный дом по приколу выключать компьютер малым.... Но есть и другие методы решения подобных задач... Короче, прикольное сотрясание воздуха)))
Шустро блин JPG декодируется, камень то слабенький. Помню как-то библиотеку от Чана запускал на 407-м, как-то заметно экранчик 320-480 отрисовывался, а там 168 МГц. Хороший проект выходного дня надо покопаться, познавательно.
Покопайтесь. Там я "немного" постарался, переписывая/оптимизируя код. Оттенки серого вообще летают 😉Ассемблер, DMA и двойная буферизация творят чудеса. Можете проект видеоплеера на этом камне посмотреть. Так, там еще и mp3 из avi до кучи к видео декодируется, плюс отрисовывается (самописным построчным рендером) OSD меню.
Было бы классно, на регистрах показать как юзб настроить. Особенно таблица интересует. Просто осваиваю сейчас risc-v, и там затык у меня. А они на 103 очень похожи... Ну или от короткой чайной лекции я бы не отказался. Нагло, знаю
Таймкоды:
00:00 Приветствие и поздравление с Рождеством.
00:24 Что будет использоваться в проекте.
00:43 Привет "пацанам" из комментариев про крючок (из обзора ЭБУ). 😉
01:08 Про желание удивить зрителей. Зрители RUclips (и не только) любят "шоу".
01:40 Что будет реализовано в этом проекте "выходного дня".
02:30 STM32CubeIDE. Про настройку подключения дисплея (настройка spi и управляющих выходов gpio).
04:43 Про индикацию приема/передачи данных по USB.
05:06 Про настройку USB. Класс CDC (Virtual Port Com).
06:44 Про приоритеты прерываний.
07:20 Настройка тактирования ядра и периферии. Условие работы USB.
09:12 Настройка проекта. Библиотеки для настройки и работы с периферией. Ограничения драйвера USB Device от STM.
11:29 Обработчики прерываний: systick, dma, usb.
12:48 Объявление и инициализация глобальных переменных, в том числе, буфера для приема данных. Подключаемые к проекту библиотеки.
17:01 Организация приема данных по USB в режиме двойного буфера. Обработчик CDC_Receive_FS. Пакетный прием. Признаки последнего пакета данных для текущей передачи (сообщения).
24:23 О возможностях разгона ядра м/к stm32f401ccu6. Программная реализация. Ограничения в случае использования USB Device.
26:01 Формирование сообщения от клиента серверу о разрешении дисплея, подключенного к м/к, и максимальном размере файла.
30:50 Прием, декодирование и вывод на дисплей изображений, полученных от сервера. Переключение двойного буфера. Разрешение на прием нового пакета данных.
35:50 Микроконтроллер "не управляется по проводкам"... 😉
38:06 Visual Studio 2022. Программа для сервера (компьютера). Почему кодируем изображение в jpeg, а не передаем простым потоком "как есть".
41:21 Скриншоты с использованием GDI, масштабирование и кодирование изображений в jpeg.
41:44 Интерпретация сервером сообщения, полученного от клиента, с настройками jpeg кодирования. Регулярные выражения. "Внутренние стандарты" проекта: формат, разрешение и размер файла.
45:56 Кодер jpeg. Спасибо его автору.
48:29 "Бесконечный цикл" сервера. Подстройка сервером качества кодирования jpeg в целях не превышения максимального размера файла. Минимальное качество кодирования. Последствия для клиента при превышении сервером максимального размера файла.
51:44 Подключение микроконтроллера к компьютеру. Обнаружение операционной системой устройства с последовательным интерфейсом. Просмотр диспетчера устройств. Запуск серверной программы и выбор порта, к которому подключен микроконтроллер.
54:13 Вывод на дисплей уменьшенной копии рабочего стола. Демонстрация работы.
Выводим изображение рабочего стола Windows на внешний дисплей с помощью микроконтроллера. USB CDC Virtual COM Port, кодер и декодер jpeg. Клонирование изображения рабочего стола Windows на дисплее, подключенном к микроконтроллеру. Виртуальный COM порт. JPEG кодирование и декодирование. Проект демонстрирует работу с виртуальным COM портом. Воспроизведение потокового видео (motion jpeg). Сервер (компьютер) постоянно делает скриншоты рабочего стола, кодирует их в jpeg и передает клиенту (микроконтроллеру) через USB (виртуальный COM порт). Микроконтроллер декодирует изображение и отображает его на дисплее.
Что потребуется:
Отладочная плата на базе stm32 - blackpill stm32f401ccu6
Дисплей - st7789 или ili9341 (и совместимые с ними. Проект собран для дисплея st7789!).
Как использовать:
1. Подключите дисплей к отладочной плате согласно таблице подключений:
LCD_DC PA2
LCD_RES PA3
LCD_CS PA4
LCD_SCL PA5
LCD_BLK PA6
LCD_SDA PA7
2. Подключите прошитую плату микроконтроллера к USB разъему компьютера (папка Release, файл для прошивки stm32f401ccu6_usb_virtual_com_port.hex Внимание. Прошивка для дисплея ST7789. При использовании дисплея ILI9341 необходимо пересобрать проект, указав требуемые параметры дисплея при вызове функции LCD_DisplayAdd в main).
3. Запустите серверную программу из папки Terminal\Release\Terminal.exe (это проект для компьютера).
4. Выберите com-порт, к которому подключен микроконтроллер. Узнать требуемый COM порт можно из диспетчера устройств. Он будет подписан, как "Устройство с последовательным интерфейсом USB (COM номер такой-то)" в разделе "Порты (COM и LPT)".
Если все сделано правильно, то на дисплее, подключенном к микроконтроллеру, вы увидите копию того же изображения, что можете наблюдать на мониторе компьютера.
Автор:
dzen.ru/vadrov
www.youtube.com/@VadRov
t.me/vadrov_channel
github.com/vadrov
Исходный код проекта:
github.com/vadrov/stm32f401ccu6-usb-vcp-clone-windows-desktop-to-display
Кодер jpeg:
jpeg-compressor
Public Domain or Apache 2.0, Richard Geldreich
github.com/richgel999/jpeg-compressor
Молодец, очень даже здорово! Хотялось бы по просьбам трудяшихся, попросить запилить видосы по asm на stm32. Ибо сил читать нет, от слово вообще.
Спасибо. Я хотел запилить видосы по asm на stm. Даже материал в прошлом году набрасывал, ужимал и т.п. Шпаргалку готовил в форме презентации... Но материала там надо приложить море... На несколько часов. Статистика же просмотров и комментарии показывают (намекают), что asm практически никого не заинтересует. Вообще люди не любят смотреть такие видео. А видео, подобные этому, смотрят. Грубо говоря, я отниму от жизни некоторое значительное количество времени на видео по asm, а оно никому не надо, от слова "совсем". При этом видео по ASMу, по нормальному - это несколько часов тягомотины. Не зайдет оно. По ASMу чтива в форме PDF-ок в инете много. От просмотра видео точно легче не станет. В универе по ASMу целый курс. Тут в несколько видео не уложить. Тут сериал нужен...
Ну если гнаться за просмотрами, тогда нужно посадить тёлку в топике, каторая через каждые пять секунд крандашь раняет, а потом нагибается, что бы поднять. На вычислительную тематику, простой народ загнать не особо получится. разве что копи пастеров. Конечно мотериала много в тексте, и на англиском, однако читать, время займёт не мало. Да и расписовать особо не нужно команды, главное структуру обозреть, имена регистров адресациию, основные вызовы. Потом может самому пригодится. z80 - тоже есть почитать в инете, но видео всё же запилил. @@VadRov
нужно пороботать над картинками, без компресии каторые[bmp], что бы авто подгон делать под дисплей!@@VadRov
@@vsosacordeev , дело-то вовсе не в просмотрах, а в их качестве. Видео на полтора часа смотрят со средним временем просмотра не более 3 - 4 минут. Поэтому длинные видео снимать вообще смысла нет. В короткое не уложишься. Что касается того, что для себя пригодится, то у меня есть всегда "шпаргалка" под рукой и доки от ARMa. Если выкрою время, то попробую ролик заснять обзорный минут на 30. Может, кого и мотивирует изучать ASM. 🙂 Хотя, мне вчера писали, что ASM - путь для отсталых от цивилизации (типа того) 🙂 C z80 смысла сравнивать нет, как и с 8051. Материал по ARMу на порядки больше. Да, и архитектура с системой команд не чета вышеуказанным.
Спорить не буду! мне ещё лет 20 назад говарили тоже самое про асм, мол это путь в никуда. Это конечно меня смешило до не немогу, да и теперь, радует не мение. @@VadRov
Емае , нормально ты так в своем познании преисполнился ,выглядит очень серьезно )). Если бы дисплей с тачем был , ты бы еще и курсором управлял небось...)) Очень мотивирует ,пойду "Hello World" в printf напишу .Спасибо
По секрету скажу, что давно поуправлял. С обратной связью, так сказать 😉
А я светодиодом по мигаю.
@@volodyabesfamilnyy5428 , кстати, светодиодом тоже можно по-разному помигать.
Ну что сказать, круто, однозначно зачетная работа!
Да, знатная безделушка для разминки мозга😉
огромный плюс😊
очень интересно)
я думал что вы противник хал и лл) помню до этого писали только на регистрах.
Всему свое время. 🙂Ярым/отчаянным противником не был, тем более, LL. LL я наоборот, можно сказать, популяризирую у себя на канале. HAL, кстати, идеален для проектов "выходного дня", когда надо что-то быстро сделать и также быстро забыть. 🙂 Также HAL хорош в плане знакомства с исходным кодом, чтобы посмотреть как надо сделать и сделать по-своему. Писать драйвер на CMSIS/регистрах для USB F4 ради этой безделушки... Нет уж, увольте 😉А той скорости, что предоставляет стандартный драйвер, как я сказал в видео, вполне достаточно.
@@VadRov понял, я почему то думал что тру программисты противники хала)
@@openFrimeTv , все равно все стараются писать свои библиотеки, вынося "регистры" в отдельные функции, чтобы минимум переделок делать (и знать, где их быстро делать) при переходах от серии к серии и от м/к к м/к. При этом все равно часто пишут вспомогательные прослойки/переадресации типа структура-регистр-данные и т.п. Вы удивитесь, но ряд компаний (причем, достаточно крупных), нанимая embedded разработчиков на первое место в требования ставят "хорошие знания HAL". При этом Вы там никого не удивите, если на собеседовании скажете, что можете "прогать на регах и асме". 😒
Круто !!!спасибо за работу !!!!
Реально удивил 😊
Да, я и сам до сих пор отойти не могу. ☺
Интересный проект, Спасибо !
Надо будет поковыряться.
Пацаны сказали, не очень 😂
Что бы тараканчики на кухне не скучали включил им на ночь, пусть развлекаются😂
Товарищи, зафиксирован первый случай реального применения проекта! А то писали, мол, бесполезная ерунда (типа того). А тараканы они же жильцы-соседи и им положены все удобства. Там можно для них кинозал организовать, если дисплей в банку положить 😂Придется выпускать версию со звуком.
Это просто вау!
Ну, да, мы тут, в комментариях, уже договорились, что будем делать кинозал для тараканов на кухне. Так что, наверное, придется версию со звуком выпускать. 😂
+ если сделать драйвер для линукса то можно с помощью одноплатников делать мини ноутбуки ( вариантов где нужен маленький компьютер и маленький ПК очень много)
Слишком ресурсоемкий вариант, да, и все-таки кодек с потерями, а не lossless.Для таких-целей проще написать на м/к с дисплеем программу терминал. Я делал давным-давно что-то подобное, сейчас уже и исходников не найду.
Thank You VADROV
Ожидал какой-то "магии", какого-то нестандартного решения вместо софта, который через ком-порт байты пересылает. Чего-то вроде драйвера на уровне, близком к ядру системы и очень оптимизированным и устройства, которое как-то читает буфер видеоядра и декодирует, чего-то такого. Бесконечный цикл в коде постоянно нагружает процессор, плюс тяжелые операции с изображением - существенный недостаток такого подхода
А смысл? Проект "выходного дня" того заслуживает, чтобы превратиться в проект "выходного месяца"? Можно было бы делать те же скриншоты, например, применяя DireсtX. Можно было бы написать поточное приложение под Windows. Можно было бы драйвер USB для м/к с нуля написать на CMSIS/регистрах. Можно было бы... и т.д. и т.п. А кому это надо? 99% код смотреть не будут, а посмотрят 1 минуту видео в конце, где будет тот же результат, что и без всего этого, что я перечислил, но с тем, что имеется по факту. Достаточно того, что был оптимизирован jpeg декодер. А теперь Вам главный вопрос. Вот все Вы правильно написали о своих ожиданиях. Внимание. Скорость передачи теоретическая для USB FS, если тупо гнать поток и не обрабатывать его (т.е. на стороне клиента вообще никаких задержек - он просто принимает и все) 12 Мбит/с. Разрешение нашего дисплея 240х240 пикселей по 2 байта на пиксель, итого 115200 байт в одном только кадре. Сколько кадров можно уложить в 12 Мбит/с, если не применять "тяжелых операций с изображением" (понятно, что мы даже вывести не успеем изображение на дисплей)? Как можно обойтись без "тяжелых операций с изображением" на стороне сервера/компьютера, если изображение надо масштабировать/уменьшать и применять специальные алгоритмы расчета цвета в каждой точке, чтобы изображение было внятным при таком значительном уменьшении? Так ли сильно нагружает бесконечный цикл процессор при передаче данных в порт в синхронном режиме? Асинхронный режим нагрузит меньше? И предлагаю Вам реализовать свои ожидания. С удовольствием посмотрел бы на реализацию. 🙂
хорош! лайк и подписка :)
Вот спасибо! 👍
Блин, прикольно, но зачем?) Вот честно, именно в f401, с таким экранчиком применения смысла нет, если же тупо не выводить по usb какую-нибудь информацию, которая, скорее всего, никому не нужна, ибо usb лишний раз занимает. С каким-нибудь H7 мк еще понимаю, там хоть интерфейсы есть нормальные для вывода на экран, и то, там этого мк на нормальное разрешение не хватит. А так, если тупо поставить в какой-нибудь умный дом по приколу выключать компьютер малым.... Но есть и другие методы решения подобных задач... Короче, прикольное сотрясание воздуха)))
Правильно. Поэтому было сказано, что "шоу" (1:33). С таким дисплеем можно только внешний "эффектный" системный монитор сделать. Но я не фанат. 🙂
Шустро блин JPG декодируется, камень то слабенький. Помню как-то библиотеку от Чана запускал на 407-м, как-то заметно экранчик 320-480 отрисовывался, а там 168 МГц. Хороший проект выходного дня надо покопаться, познавательно.
Покопайтесь. Там я "немного" постарался, переписывая/оптимизируя код. Оттенки серого вообще летают 😉Ассемблер, DMA и двойная буферизация творят чудеса. Можете проект видеоплеера на этом камне посмотреть. Так, там еще и mp3 из avi до кучи к видео декодируется, плюс отрисовывается (самописным построчным рендером) OSD меню.
Куда написать с вопросом о разработке?
Это смотря, что за вопрос. Тут есть ссылка на почту или VK www.youtube.com/@VadRov/community
Интересная работа. Можно ли её реализовать на ESP32 под Arduino IDE?
На Arduino, наверное, строчек 20-30 кода + подключение библиотек.
Плюсик)))
Было бы классно, на регистрах показать как юзб настроить. Особенно таблица интересует.
Просто осваиваю сейчас risc-v, и там затык у меня. А они на 103 очень похожи... Ну или от короткой чайной лекции я бы не отказался. Нагло, знаю
Я даже досматривать не стал. Я расстроился.
++++++++++++++++++++++
Вижу, вижу 👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍 Сколько смог 🙂
+++
+++++
+
Спасибо, что дошли до "маркера" 🙂
+
Вижу, вижу кто смотрел.👌
+
Всех вижу, кто смотрит 😉
+
Всех "возьму на карандаш", кто "+" не поставил 🙂