VadRov
VadRov
  • 46
  • 526 426
ESP32 против STM32F4. Xtensa LX6 против Cortex-M4F. Наглядная демонстрация силы двух ядер
ESP32 против STM32F4. Xtensa LX6 против Cortex-M4F. Наглядная демонстрация силы двух ядер
Сравниваем на наглядном примере производительность двух микроконтроллеров. Программы для обоих микроконтроллеров в целом абсолютно идентичные. Разница определяется только спецификой конкретного м/к (работа с периферией). Условия плюс/минус одинаковые:
1. Микроконтроллер STM32F407VET6. Его ядро Cortex-M4F работает на частоте 168 МГц. Подключен дисплей на контроллере ILI9341 по FSMC без использования DMA. Скорость заливки дисплея 320х240 сплошным цветом - 469 кадров/с.
2. Микроконтроллер ESP32-wroom-32. Имеет два ядра Xtensa LX6, работающих на максимальной частоте 80, 160, 240 МГц. Естественно, сравнивать будем производительность по 1 ядру на частоте 160 МГц, но в качестве интереса проверим, на что способен этот м/к при двух ядрах на частотах 160 и 240 МГц. Подключен дисплей на контроллере ST7789 по SPI c использования DMA. Скорость заливки дисплея 240х240 сплошным цветом - 87 кадров/с (c DMA), 74 кадра/с (без DMA).
#esp32
#stm32
มุมมอง: 1 389

วีดีโอ

Зачем нужен ассемблер на примере. Соглашения о вызовах в разных архитектурах
มุมมอง 1.2K8 หลายเดือนก่อน
Зачем нужен ассемблер. Соглашения о вызовах для разных архитектур. Видео-ответ на комментарии к ролику с решением задачи, решение которой так никто и не предложил (без использования ассемблера, в т.ч., ассемблерной вставки в программу на C, задачу не решить): th-cam.com/users/shortsGKcf8HcTI9E Специфичные задачи, которые можно решить с использованием ассемблера. Соглашения о вызовах для архитек...
Hello World на ассемблере z80: сможет и ребенок. От простенькой программки до серьезных программуль
มุมมอง 1.5K8 หลายเดือนก่อน
Hello world на ассемблере z80: сможет даже ребенок. От простенькой программки до серьезных приложений: тетрис 1996 года от автора Исходник тетриса и файл для эмулятора (sna) для ZX-Spectrum cовместимого компьютера: github.com/vadrov/tetris-zx-spectrum-z80-asm Друзья, помогите "раскачать" канал на ДЗЕНе: dzen.ru/vadrov Пара минут просмотра там аналогичного видео, подписка и комментарий в поддерж...
Cloning Windows desktop image to external display using stm32 microcontroller USBFS
มุมมอง 3.4K9 หลายเดือนก่อน
Выводим изображение рабочего стола Windows на внешний дисплей с помощью микроконтроллера. USB CDC Virtual COM Port, кодер и декодер jpeg. Клонирование изображения рабочего стола Windows на дисплее, подключенном к микроконтроллеру. Виртуальный COM порт. JPEG кодирование и декодирование. Проект демонстрирует работу с виртуальным COM портом. Воспроизведение потокового видео (motion jpeg). Сервер (...
Электронный блок управления двигателем ЭБУ Микас заиграл мелодию Биперная музыка на SAF-C509L
มุมมอง 2.8K9 หลายเดือนก่อน
Электронный блок управления двигателем ЭБУ Микас заиграл мелодию на Новый год. В раннем видео я рассказывал о возможности написания программы для электронного блока управления (ЭБУ) двигателем, чтобы использовать его не только в автомобиле. И тогда я поставил перед собой задачу поморгать светодиодом. Задача была перевыполнена. Блок запел биперной музыкой! 😜 В качестве демки на ассемблере A51 бы...
С Новым 2024 годом! LED экран с управляющим контроллером stm32g031f6p6
มุมมอง 3309 หลายเดือนก่อน
С Новым 2024 годом! LED экран с управляющим контроллером stm32g031f6p6 Здоровья, удачи! Пусть ваши мечты сбываются! Этот и другие проекты рассмотрим в Новом 2024 году. #stm32
STM32 AVI video player with OSD menu. jpeg decoder optimization in assembler
มุมมอง 2.9Kปีที่แล้ว
🎬 STM32 видеоплеер AVI с OSD меню. Оптимизация jpeg декодера на ассемблере. 👉 В видео демонстрируются анимационные фильмы (на правах лицензии Creative Commons): "Elephants Dream": © Сopyright 2006, Blender Foundation / www.orange.blender.org "Big Buck Bunny": © Сopyright 2008, Blender Foundation / www.bigbuckbunny.org "Sintel": © Copyright 2010, Blender Foundation / www.sintel.org Blender Found...
Avi playback with audio on stm32. Optimization of the driver and decoder in assembler. Announcement
มุมมอง 1.4Kปีที่แล้ว
Воспроизведение видео avi со звуком на stm32. Оптимизация драйвера и декодера на ассемблере. Это видео - анонс проекта, о котором будет рассказано более подробно в одном из следующих выпусков на канале. Видео с ранней версией: th-cam.com/video/ih6ErwXwGcE/w-d-xo.html Поддержать канал: yoomoney.ru/to/4100117522443917 Комплектующие в видео:: плата разработки stm32f401ccu6 аудио-ЦАП pcm5102a макет...
Tic-tac-toe game on stm32 microcontroller: sound, effects, voice, touchscreen display, audio DAC
มุมมอง 1.3Kปีที่แล้ว
Игра крестики нолики на микроконтроллере stm32: звук, эффекты, голос, дисплей с тачскрином, аудиоЦАП. Проект доступен на моем гитхабе: github.com/vadrov/stm32-TicTakToe-Game-xpt2046-pcm5102a-ili9341-mp3-wav Извиняюсь за переходы громкости звука. Тот же материал залил на дзен. Там звук ровнее: dzen.ru/video/watch/63eb7a96ed089717c43fcabd Поддержать канал: yoomoney.ru/to/4100117522443917 Демонстр...
Видеоответ: где находится датчик приближения на смартфоне Xiaomi Poco X3. Термопасту срочно менять
มุมมอง 5Kปีที่แล้ว
По случаю записываю видеоответ на вопрос, заданный в комментарии: "Где находится датчик приближения на смартфоне Xiaomi Poco X3?". При отсоединении процессорного модуля оказалось, что надежного контакта в термоинтерфейсе не было. Термопаста превратилась в сухарь, растрескалась и не обеспечивала контакт между процессорной платой и тепловой трубкой. Термопасту срочно менять! На телефоне из видео ...
Подключение дисплея ili9341 с тачскрином xpt2046 по одному spi к stm32: пишем драйвер, рисуем
มุมมอง 6Kปีที่แล้ว
Подключение дисплея ili9341 с тачскрином xpt2046 по одному spi к stm32: пишем драйвер, рисуем. Драйвер контроллера XPT2046 (HR2046 и других совместимых). Поддерживает весь функционал контроллера: работа с тачскрином, измерение температуры встроенным датчиком, измерение напряжения на входах VBAT и AUX. Функции и возможности: - Опрос тачскрина (в прерывании и вне прерывания) с получением информац...
Распаковка и краткий обзор женского велосипеда Aist Tango 28 1.0: плюсы и минусы
มุมมอง 6K2 ปีที่แล้ว
Распаковка и краткий обзор женского велосипеда Aist Tango 28 1.0: плюсы и минусы. Жене понравился данный велик внешне. Отзывы хорошие. Решила приобрести. Распаковка на видео для того, чтобы потом все проблемные вопросы было проще решить с продавцом. Сборка за кадром. Сборка простая (кстати, в паспорте не указано, как именно собирать данную модель). С настройкой тормозов и проверкой смазки заним...
Файловый менеджер на микроконтроллере: stm32 + sd-card spi + st7789 + кнопки
มุมมอง 1.8K2 ปีที่แล้ว
Файловый менеджер на микроконтроллере? Легко. В этом видео на основе ранее написанных модулей, библиотек и драйверов для подключения SD-карты, дисплея и кнопок напишем свой простой файловый менеджер, который позволит наглядно выбирать файлы в каталогах SD-карты для последующей работы с ними. Основные возможности файлового менеджера: - вывод менеджера в окне, параметры (координата верхнего левог...
Подключение кнопок к микроконтроллеру STM32: устранение дребезга, автоповтор, буферизованный ввод
มุมมอง 2.4K2 ปีที่แล้ว
Подключение кнопок к микроконтроллеру STM32: устранение дребезга, автоповтор, буферизованный ввод
Анимация Вечного огня и музыка на микроконтроллере STM32: демка в честь 77 годовщины Дня Победы
มุมมอง 7152 ปีที่แล้ว
Анимация Вечного огня и музыка на микроконтроллере STM32: демка в честь 77 годовщины Дня Победы
Подключение аудио-ЦАП к микроконтроллеру STM32: stm32f401ccu6 + pcm5102 + i2s + dma, регистры и LL
มุมมอง 8K2 ปีที่แล้ว
Подключение аудио-ЦАП к микроконтроллеру STM32: stm32f401ccu6 pcm5102 i2s dma, регистры и LL
Первомайская демка на микроконтроллере STM32: вывод изображений, программный скроллинг и 3D объекты
มุมมอง 6932 ปีที่แล้ว
Первомайская демка на микроконтроллере STM32: вывод изображений, программный скроллинг и 3D объекты
Подключение дисплея ST7789 к микроконтроллеру STM32 по SPI c DMA без HAL: явное преимущество DMA
มุมมอง 11K2 ปีที่แล้ว
Подключение дисплея ST7789 к микроконтроллеру STM32 по SPI c DMA без HAL: явное преимущество DMA
Распаковка, краткий обзор и тест цепной пилы Makita UC3041A: плюсы и минусы, пилю яблоню
มุมมอง 12K2 ปีที่แล้ว
Распаковка, краткий обзор и тест цепной пилы Makita UC3041A: плюсы и минусы, пилю яблоню
Подключение SD к SPI с DMA STM32 без HAL: регистры, LL - код меньше, программа быстрее. STM32CubeIDE
มุมมอง 3.6K2 ปีที่แล้ว
Подключение SD к SPI с DMA STM32 без HAL: регистры, LL - код меньше, программа быстрее. STM32CubeIDE
Подключение к микроконтроллеру STM32 SD карты по SPI c DMA: stm32f401ccu6 + sd card spi dma
มุมมอง 3.4K2 ปีที่แล้ว
Подключение к микроконтроллеру STM32 SD карты по SPI c DMA: stm32f401ccu6 sd card spi dma
Сложен ли ассемблер? Команды ассемблера для микропроцессора Z80. Примеры программ в соотношении с C
มุมมอง 2.8K2 ปีที่แล้ว
Сложен ли ассемблер? Команды ассемблера для микропроцессора Z80. Примеры программ в соотношении с C
Распаковка, обзор и тест лобзика DeWalt DWE349. Мастерю коробку из фанеры для саморезов за 15 минут
มุมมอง 3.8K2 ปีที่แล้ว
Распаковка, обзор и тест лобзика DeWalt DWE349. Мастерю коробку из фанеры для саморезов за 15 минут
Блок управления двигателем: устройство, можно ли написать свою программу и использовать по-своему
มุมมอง 21K2 ปีที่แล้ว
Блок управления двигателем: устройство, можно ли написать свою программу и использовать по-своему
Распаковка, обзор зарядного устройства DeWALT DCB118-QW, тест зарядки 2ач и 5ач аккумуляторов
มุมมอง 3.2K2 ปีที่แล้ว
Распаковка, обзор зарядного устройства DeWALT DCB118-QW, тест зарядки 2ач и 5ач аккумуляторов
Распаковка и краткий обзор дрели-шуруповерта DeWalt DCD791: плюсы и минусы из опыта
มุมมอง 12K2 ปีที่แล้ว
Распаковка и краткий обзор дрели-шуруповерта DeWalt DCD791: плюсы и минусы из опыта
Набор бит со сверлами Makita из 102 предметов для шуруповерта: распаковка, обзор, плюсы и минусы
มุมมอง 5K2 ปีที่แล้ว
Набор бит со сверлами Makita из 102 предметов для шуруповерта: распаковка, обзор, плюсы и минусы
My 1996 Tetris game: Z80 assembler for ZX-Spectrum compatible computers
มุมมอง 1.6K2 ปีที่แล้ว
My 1996 Tetris game: Z80 assembler for ZX-Spectrum compatible computers
Xiaomi Poco X3 NFC: замена дисплея на аналог своими руками. ОригиналOFF нет
มุมมอง 11K2 ปีที่แล้ว
Xiaomi Poco X3 NFC: замена дисплея на аналог своими руками. ОригиналOFF нет
Распаковка и тест аналога дисплея для Xiaomi POCO X3 NFC. Проверка в инженерном меню.
มุมมอง 6702 ปีที่แล้ว
Распаковка и тест аналога дисплея для Xiaomi POCO X3 NFC. Проверка в инженерном меню.

ความคิดเห็น

  • @arnoldtakacs8263
    @arnoldtakacs8263 5 วันที่ผ่านมา

    Hi, can I use ILI9488 instead of ILI9341 ? What do I need to rewrite in the code for that purpose? Thank you.

    • @VadRov
      @VadRov 4 วันที่ผ่านมา

      Hello. You can use a display with an ILI9488 controller, which will be connected to the microcontroller via the SPI interface. But you should take into account that such displays, as a rule, have a resolution of 480x320 pixels. Demonstrating video on a display of such a resolution will require significant performance from the microcontroller. In addition, the speed of the SPI interface will not be enough for the required refresh rate of the image on the display. Accordingly, to solve such a problem, you will need a display with a parallel interface, and the microcontroller itself must support this interface (FSMC) in hardware (or the interface will have to be emulated in software - you will need a microcontroller with a significant number of free GPIO pins). That is, you will need to transfer the project to another hardware base (a microcontroller with greater performance with the FSMC interface). In addition, you should remember that the ILI9488 display controller does not support 16-bit R5G6B5 color when connected via SPI. Thus, this mode will have to be emulated, which will further reduce performance.

    • @arnoldtakacs8263
      @arnoldtakacs8263 4 วันที่ผ่านมา

      @@VadRov Thank you for the reply, I was thinking about using STM32F407VET6 microcontroller which in advance has lot of free GPIO's. What do you think about using this line of microcontroller?

    • @VadRov
      @VadRov 4 วันที่ผ่านมา

      @@arnoldtakacs8263 , I think that the specified microcontroller can theoretically be suitable for solving the problem of playing AVI video with a resolution of 480x320 pixels. Moreover, it contains an SDIO interface, which will allow working with an SD card at a speed of about 10 Mb/sec. This microcontroller can be easily overclocked to 200-220 MHz if necessary. You can also consider microcontrollers of the H5 family (for example, STM32H562RGT6) based on the Cortex-M33 core, which is more productive than the Cortex-M4 core.

    • @arnoldtakacs8263
      @arnoldtakacs8263 4 วันที่ผ่านมา

      @@VadRovThe truth is I'm not very good at programming in C, but I want to learn programming in C, I don't want to give up, if I could I would write something on my own on any stm32f microcontroller, but your project AVI player that you have made make me inspirational about making my own mp4 or mp3 player. But when I want to start to code something on my own I stop nearly at the beginning, it is so hard for me to code something like an mp3 player. But your project is very good. If I could just learn the basics or something about using mp3 helix decoder but when I want to glue together these parts of code there are millions of errors of the compiler.

    • @VadRov
      @VadRov 4 วันที่ผ่านมา

      @@arnoldtakacs8263 , I think everything has its time. If your enthusiasm does not fade, you will gradually advance in learning C. The main thing is not to stop. :)

  • @arnoldtakacs8263
    @arnoldtakacs8263 5 วันที่ผ่านมา

    Thank you, very good project you helped me a lot!!!! Thumbs up!

  • @Alexcymantrene
    @Alexcymantrene 5 วันที่ผ่านมา

    Огромное спасибо! Дай бог вам здоровья! Сделал на 411, все работает! Лайк, подписка! Кладезь знаний

  • @Dmitry737
    @Dmitry737 8 วันที่ผ่านมา

    Примените стандартную тему и стандартные виджеты. Мне помогло

  • @VictorLarsen-fy9ls
    @VictorLarsen-fy9ls 10 วันที่ผ่านมา

    А не подскажите на чем, как пишутся программы для MP3 плееров? Например контроллер ATJ2085, указано в даташите что поддерживает инструкции Z80. Я так понимаю что тоже на ассемблере. Или на другом языке можно? И как графический интерфейс там программируется чтоб на экранчик плеера оно выводило?

    • @VadRov
      @VadRov 10 วันที่ผ่านมา

      Судя по спецификации, "ATJ2085 integrates 8-bit MCU with on-chip ICE support. Instruction set is compatible with Z80", чип содержит микроконтроллер, ядро которого по инструкциям совместимо с 8-разрядным Z80. Писать программы можно либо на ассемблере Z80, либо на C (с поддержкой компилятора для z80 - keil, как вариант). В чипе встроен LCM драйвер (интерфейс 8080), значит, можно подключить дисплей с параллельным интерфейсом, например, LCM1602K или тот же дисплей на контроллере ili9341 и аналогичных. Кроме того, есть интерфейс I2C, значит, можно дисплей подключить и по этому интерфейсу. Есть драйвер внешней памяти, значит, можно подключить дисплей с интерфейсом 8080, выделив для него некоторую область памяти. Дальше разбираться не стал. Сейчас много микросхем-кодеков, у которых есть интерфейс для связи с внешним микроконтроллером, что удобнее, чем этот чип, как о нем сказано в спецификации: "все в одном, что очень идеально". Кроме того, здесь надо иметь полную документацию на этот чип, чтобы знать, как писать для него программы и как эти программы в него зашивать. Наверняка, есть (была) специализированная IDE от разработчика/изготовителя чипа. Без кучи дополнительной документации этот чип бесполезен для разработчика. На деле реализовать mp3 плеер проще и функциональнее на том же микроконтроллере stm32 начального уровня, что вполне хватит для работы программного декодера.

    • @VictorLarsen-fy9ls
      @VictorLarsen-fy9ls 9 วันที่ผ่านมา

      @@VadRov Спасибо, стало ясней!) Да то я хочу восстановить свой старый MP3 плеер на этом чипе, у него что-то с питанием. Мне нравилась в нем анимация танцующего человечка когда музыка играет. Хочу ее глянуть может для своих проектов каких-то. Полез посмотрел контроллер и подумал может можно памяти еще добавить, а то там всего 1ГБ. В документации на 4 странице указано что он вроде как до 2ГБ поддерживает External up to 2(cs) x 64M/128M/256M/512M/1G/2G bytes Nand type Flash. 2(cs) это два чипа или какой-то тип памяти? А дальше в конце 17 странице указано ATJ2085 can support NAND type flash from 32M to 1G bytes то есть он только до 1ГБ и поддерживает. Или второй чип памяти подключается если 37 ногу СЕ2 на другой чип кинуть на той же шине? Потому что дисплей и чип памяти фактически на одну шину подключены, только разные сигналы CE1, CE2, CE3. На I2C там подключен радиомодуль ТЕА5767. Да, мне тоже показалось что вроде как для разработки информации мало. Но я думал что может я просто не специалист и поэтому этого мне не хватает, а вот спецы как-то все понимают.

  • @user-nj7qd5dz6c
    @user-nj7qd5dz6c 11 วันที่ผ่านมา

    😮😮😮😮

  • @IdeaFX
    @IdeaFX 18 วันที่ผ่านมา

    Да чтоб тебе сосед непрерывно по батарее стучал каждый раз когда ты смотришь кино! Ну невозможно же смотреть!

    • @VadRov
      @VadRov 18 วันที่ผ่านมา

      "Слушай, ты что такой злой? У тебя папа, мама был?..." Нет у меня соседей по "человейнику", т.к. в собственном доме живу. 😂

  • @nik-wg4zz
    @nik-wg4zz 23 วันที่ผ่านมา

    Здравствуйте, почему вы думаете, что стук на второй передаче не брак, смотрел в обзорах и на многих не слышал стуков

    • @VadRov
      @VadRov 23 วันที่ผ่านมา

      Потому что это не первый мой шуруповерт данной модели, и все они до сих пор исправно работают, в т.ч., аккумуляторы (что особенно приятно). Стук присутствует при работе в "холостую" на второй скорости, в тот момент, когда мы резко отпускаем кнопку. Под нагрузкой такое не наблюдается. Подобный стук не признак дефекта (проверено годами на личном опыте). Длительным использованием нескольких экземпляров данной модели выявлены только следующие проблемы: - закусывание оснастки в патроне (блокировка патрона - брак, и он лечится только заменой патрона в сборе); - поломка переключателя скоростей (как правило, шуроповерт работает в таком случае только на 2 скорости. Лечится заменой рычага.).; - подклинивание переключателя направления вращения (лечится либо заменой переключателя, либо его прочисткой - определяется путем дефектовки). Проблема наблюдается при профессиональном (фактически ежедневном) использовании, что, наверное, можно отнести к естественному износу. В остальном отличная модель. Надежная, безотказная, можно сказать. Удобно лежит в руке. В меру противоударная (несколько раз падали шуруповерты с большой высоты - выжили).

    • @nik-wg4zz
      @nik-wg4zz 23 วันที่ผ่านมา

      @@VadRov благодарю, сегодня был в магазине Все инструменты, хотел приобрести такую модель, смутил треск при остановке на второй передаче. И ещё одно, когда нажимаешь на кнопку на аккумуляторе , светодиод светится 3 секунды, на видео в Ютуб, гаснут сразу. Вот я и задумался

  • @urichaplin1424
    @urichaplin1424 25 วันที่ผ่านมา

    Я хочу сделать простой видеоплеер ( без менюшек и аудио. тупо дал видео файл и он его крутит без звука). есть ли у тебя пример ?

    • @VadRov
      @VadRov 25 วันที่ผ่านมา

      А какие проблемы убрать все "лишнее" из этого исходника? Минут на пять от силы.

  • @maximkulaev1598
    @maximkulaev1598 หลายเดือนก่อน

    Каждое утро таким занимаюсь

  • @urichaplin1424
    @urichaplin1424 หลายเดือนก่อน

    тут парнишка своровал твой проект th-cam.com/video/yRFJdpKtyOI/w-d-xo.htmlsi=CI1zhYNFgokQ_nIJ

    • @VadRov
      @VadRov หลายเดือนก่อน

      @@urichaplin1424 , 🙂 не своровал, а повторил и автора указал. Я проект выпускал под MIT-лицензией. Любой желающий может свободно распространять любыми доступными способами, в т. ч., изменять код по своему желанию при условии указания автора исходника.

    • @urichaplin1424
      @urichaplin1424 หลายเดือนก่อน

      @@VadRov как пожелаешь. я считаю что он должен был дать твой гитхаб а не свой и он не написал что весь проект целиком скопипастил. там нет и строчки его кода.

  • @t1ltmare
    @t1ltmare หลายเดือนก่อน

    У меня 2 ошибки и 3 предупреждения Помогите, пожалуйста user_diskio_spi.c ../FATFS/Target/user_diskio_spi.c:100: error: unterminated #else 100 | #ifdef SD_USE_DMA *** [FATFS/Target/subdir.mk:22: FATFS/Target/user_diskio_spi.o] Error 1 "make -j20 all" terminated with exit code 2. Build might be incomplete. Предупреждения ../FATFS/Target/user_diskio_spi.c:116:13: warning: 'SPI_DMA_TransmitReceive' defined but not used [-Wunused-function] 116 | static void SPI_DMA_TransmitReceive(SPI_TransferType type, const BYTE* buff, uint16_t buff_size) | ^~~~~~~~~~~~~~~~~~~~~~~ ../FATFS/Target/user_diskio_spi.c:88:13: warning: 'spi_rw' defined but not used [-Wunused-function] 88 | static BYTE spi_rw(BYTE wval) | ^~~~~~ ../FATFS/Target/user_diskio_spi.c:79:13: warning: 'set_sd_interface_speed' defined but not used [-Wunused-function] 79 | static void set_sd_interface_speed(uint8_t speed) | ^~~~~~~~~~~~~~~~~~~~~~

    • @VadRov
      @VadRov หลายเดือนก่อน

      Лучше воспользуйтесь вариантом работы c sd из проекта видеоплеера. Он основан на обновленной библиотеке FATFS: github.com/vadrov/stm32f4_fast_optimized_avi_player_osd/tree/main/FATFS

    • @VadRov
      @VadRov หลายเดือนก่อน

      Я обновил архив. Перекачайте.

    • @t1ltmare
      @t1ltmare หลายเดือนก่อน

      В общем, вымучил проект, заработало. Я копировал все коды автора себе, потом подправлял под свою распиновку, и вылезали новые ошибки. Пришлось вообще удалить файл system_stm32h7xx.c и ошибки ушли. Спасибо!

  • @KJIaBogaB
    @KJIaBogaB หลายเดือนก่อน

    Подскажите, как прошить такой контроллер полётником типа betaflight ? Я прошиваю например, всё шьется, хоть inav, хоть betaglight - но после перезагрузки чуда не случается и полётник на COM порту не появляется. Думаю, что нужно MSP настроить на какой-то UART - но как это сделать? или вовсе не в том дело?

    • @VadRov
      @VadRov หลายเดือนก่อน

      Чтобы все работало, как задумано, нужна соответствующая данному микроконтроллеру программа ("прошивка"). Т.е. программа ("прошивка") должна быть написана именно для этого микроконтроллера.

    • @KJIaBogaB
      @KJIaBogaB หลายเดือนก่อน

      @@VadRov Я перед прошивкой из списка выбрал полётники, которые с аббревиатурой f401... нашелся единственный - FPVCICLEF401 - его и прошил :) Ну вы поняли тему - может попробуете новое видео снять? Многим будет интересно :) Сейчас жду F405 RGT6, который на большинстве полётников типа speedybee F405 v3 или аналогичных стоит - может на нём сразу всё получится!

    • @KJIaBogaB
      @KJIaBogaB หลายเดือนก่อน

      @@VadRov Мне идет именно такой микроконтроллер из Китая, просто лежала плата с стм32ф401 - в бэтафлайте есть выбор полётника с таким контроллером - я его прошивку и брал. Просто думаю, что нужно с каким-то бубном поплясать, чтобы UART соединения с компом по USB заработал.. и плата увиделась после прошивки в компе как COM5 - STM32F401 что-то типа того, а она в обычном режиме никак не проявляет себя при подключении по USB

  • @АлександрЗубков-г6ж
    @АлександрЗубков-г6ж หลายเดือนก่อน

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

  • @ruslanhanin2650
    @ruslanhanin2650 หลายเดือนก่อน

    Какая картина не отстойная ,стандартная карзина

  • @eofmail
    @eofmail 2 หลายเดือนก่อน

    А как это повторно инициализировать при смене sd-карты? FR_NOT_READY, помогает только апартный сброс контроллера.

  • @t1ltmare
    @t1ltmare 2 หลายเดือนก่อน

    Эс Пи Ай ❌ Спи ✅ Лэйбл ❌ Лабел ✅

  • @Abd_As-Samad
    @Abd_As-Samad 2 หลายเดือนก่อน

    Не возможно смотреть из за стука

  • @Seriyv0lk
    @Seriyv0lk 2 หลายเดือนก่อน

    Плюсик)))

  • @Zurenio
    @Zurenio 2 หลายเดือนก่อน

    😍😍

  • @Seriyv0lk
    @Seriyv0lk 2 หลายเดือนก่อน

    Красавчик!

  • @NoName-dj6bd
    @NoName-dj6bd 2 หลายเดือนก่อน

    Дребезг кнопок устраняется аппаратно. Пикушкой 220-680 пф на порту мк и резистором 10 ом, между портом и кнопкой. Экономия кода 100%. 👍

    • @VadRov
      @VadRov 2 หลายเดือนก่อน

      Не уверен, что это решение обеспечивает 100% гарантию подавления дребезга. Все немного сложнее в аппаратном плане. Ну, и, если обратили внимание, тут не просто подавление дребезга, но и буферизация ввода, что позволяет, например, обрабатывать очередь событий. 🙂

    • @NoName-dj6bd
      @NoName-dj6bd 2 หลายเดือนก่อน

      @@VadRov Этот метод прверен десятилетиями. Его в пособиях по программированию МК не раз публиковали. Я даже счётчик нажатий собирал для проверки. Из пару сотен нажатий ни одно сбоя.

  • @quest524
    @quest524 2 หลายเดือนก่อน

    можно через пайтон ) просто ты не ас )

  • @Morpheus.theDreamlord
    @Morpheus.theDreamlord 2 หลายเดือนก่อน

    А как в данном случае заменить 8битный формат вав файла на 16битный ? Я пробовал в функции заливки буффера вместо (*pData)>>7 писать просто p_pcm_buff [i] = p_pcm_buff[i+1] = *pdata ; Cам указатель pData у меня соотв. на uint16_t и массив с данными звука uint16_t wav[] ; В итоге вместо исходного семпла ( пытаюсь семпл бас бочки играть) выходит какой-то дико искаженный вариант . Если перевести этот же семпл в формат 8 бит и код не трогать - играет нормально , но с шумом поверх основного звука ( видимо понижение битности сказывается ). Причем одна программа которой переводил вав в код - HxD перегоняет данные в формате uint8_t , а другая может и 8 и 16 и с знакои и без знака . Но пробовал все варианты , и моно и стерео - так и не удалось воспроизвести в 16битном формате. Где может быть затык ? Я так понимаю вся соль в правильном заполнении буфера . Но вроде же проще некуда - бери из исходного массива 16 бит на семпл и кидай в промежуточный буффер , но что-то где-то не работает

    • @VadRov
      @VadRov 2 หลายเดือนก่อน

      Вроде, все правильно делаете (если еще и указатель входных данных верно инкрементируете). Так же примите во внимание, что в данном случае i2s настраивается всего на частоту дискретизации 8000 Гц (и сэмпл должен быть получен для аналогичной частоты). Ожидать какого-то хорошего качества не приходится при таких настройках. Кстати, я экспериментировал и со стерео, и с 16-битами. Проблем, как помню, не было (с учетом изменения кода подготовки pcm буфера). Для преобразования использовал редактор Audacity. Заголовки отрезал в Hex Editor Neo.

    • @Morpheus.theDreamlord
      @Morpheus.theDreamlord 2 หลายเดือนก่อน

      @@VadRov я изменил настройки pll под 44,1 kHz , так дело не в дискретизации , а именно в функции заполнения буфера, я еще игрался с разными вариантами , каждый раз звук был искажен , но по разному . Инкрементирую указатель +2 , я так понимаю мы этой строчкой копируем сначала семпл для левого канала , потом для правого (I+1) и смещаемся в цикле на два элемента к следующей паре семплов LR . Возможно проблема в программе с которой я вытягиваю аудиоданные в виде кода . Попробую Вашу связку , спасибо. Этот же семпл на плате Teensy точно так же из флеш памяти камня играет нормально, но там и утилита своя есть для преобразования в код , и готовая библиотека аудио . Вот пытаюсь ее функционал перенести на стм32. Мне от нее нужно всего навсего проигрывать семпл каждый раз когда срабатывает датчик ( триггер ) снимающий удар по бас бочке . Пробовал на есп32 , там был другой баг - при повторах семпла куда-то из звука девалась часть атаки в самом начале, причем в разных количествах.

    • @VadRov
      @VadRov 2 หลายเดือนก่อน

      @@Morpheus.theDreamlord , не знаю какие проблемы у Вас возникают. Вроде, все просто. void Fill_pcmbuffer(void) { for (int i = 0; i < 2*128; i+=2) { if (!data_left) { pdata = (uint8_t*)music_kick.data; data_left = (uint32_t)music_kick.size; } /* //mono 8 бит p_pcm_buffer[i] = p_pcm_buffer[i+1] = (*pdata)<<7; pdata++; data_left--; */ //стерео 16 бит p_pcm_buffer[i] = *((int16_t*)pdata); pdata += 2; p_pcm_buffer[i+1] = *((int16_t*)pdata); pdata += 2; data_left -= 4; } //переходим к следующей половине PCM буфера p_pcm_buffer = (p_pcm_buffer == pcm_buffer) ? pcm_buffer + 256 : pcm_buffer; } И так для любого формата по аналогии. Типы указателей менять нет необходимости. Достаточно просто делать преобразование к типу в самой процедуре Fill_pcmbuffer.

    • @Morpheus.theDreamlord
      @Morpheus.theDreamlord 2 หลายเดือนก่อน

      @@VadRov а разве указатель на data не uint16_t должен быть , если формат wav 44,1 и 16 бит ? Ибо вот этом походу и затык - одна прога переводит код в массив размером unsigned short , а другая unsigned char . Хотя вавка в одном и другом случае 16 бит на семпл . И этот нюанс я Гугле так и не выяснил , как правильно .

    • @Morpheus.theDreamlord
      @Morpheus.theDreamlord 2 หลายเดือนก่อน

      @@VadRov то , что Вы написали выше работает , я это сразу уточнил в первом комментарии . Но работает этот код только если wav формате 44,1 8 bit/sample . И в этом случае в звуке присутствует фоновый шум . Но сам звук правильный , да . Вот если битность 16 начинается проблема . Может еще дело в формате little endian/big endian ? Wav вроде хранит двухбайтные семплы в little endian , а стм в какой последовательности должна их принимать ?

  • @sergshramm
    @sergshramm 2 หลายเดือนก่อน

    Интересует!!! +++++

  • @sergshramm
    @sergshramm 2 หลายเดือนก่อน

    Вещай дальше. Смотрим тебя внимательно.

  • @elektrik50hz07
    @elektrik50hz07 2 หลายเดือนก่อน

    Доброго дня. Вопрос не по теме. Весной установил на карбюраторную классику зажигание с карбюраторной газели на базе эбу микас 7.1 243.3763 000-01. В память флеш герез комбилоадер залил двухрежемную прошивку(набор калибровок) т.к. у меня два вида топлива(газ-бензин). Память еепром не трогал. С калибровками чуть подразобрался,мотор поехал лучше. Понимаю так,что в еепром залита программа,которая управляет мотором,используя данные калибровок из флеш памяти. На данный момент непонятно,когда используются калибровки экономичного режима,а когда мощностного. Отсюда вопрос. Что посоветуете изучить для понимания этого вопроса.(хочу изучить работу программы) Ассемберов,как я понял несколько. И какими программами посоветуете пользоваться?

    • @VadRov
      @VadRov 2 หลายเดือนก่อน

      Приветствую. Проясним немного. Во флэш записана программа управления двигателем. Это, так называемое ПЗУ микроконтроллера. Там же находятся калибровки для конкретного двигателя и конфигурация (комплектация): кондиционер, количество цилиндров, управление вентилятором и т.д.. В EEPROM же могут находится служебные параметры: VIN, модель двигателя, номер прошивки, пробег (опционально), поправка угла опережения зажигания, коэффициент коррекции СО, коэффициент коррекции топливоподачи ... и некоторые другие параметры (зарезервированные ячейки памяти). Двухрежимная прошивка предполагает наличие по сути двух аналогичных программ управления двигателем, но с разными калибровками. Переключение между прошивками осуществляется "на-лету", так, что микроконтроллер не замечает "подмены" (стек и регистры ЦПУ м/к не "портится"). Я не ЧИП-тюнер, а немного программист. Со своей стороны могу посоветовать изучать для программирования данного м/к официальную документацию на данный микроконтроллер. Для написания программ можно использовать, как я отмечал в видео по данной тематике, среду разработки Keil.

    • @elektrik50hz07
      @elektrik50hz07 2 หลายเดือนก่อน

      @@VadRov Понятно. Погуглю. в этом направлении.Хочется разобраться самому. Чем больше пытаюсь разобраться в работе ЭБУ, тем больше вопросов появляется. Думаю это нормально. Сегодня набрёл на ваш канал. Для себя нашел ещё один ответ. С первым ЭБУ у меня с наступлением лета и жары появилась проблема. Когда корпус блока становился тёплым,вторая прошивка переставала работать. Купил другой блок,с ним работает машина адекватно. Думаю,причина в микросхеме флеш памяти или соседней,которая работает с флеш. Зимой времени будет больше. Попробую перепаять.

  • @COMMUNIST239
    @COMMUNIST239 2 หลายเดือนก่อน

    Сам сейчас изучаю ассемблер для х86-виндовс(MASM32). Посмотрел в ваш код и не увидел ни одной инструкции MOV. А как тогда на спектруме работали с регистрами?

    • @VadRov
      @VadRov 2 หลายเดือนก่อน

      Мнемоника для разных архитектур, как правило., разная. Для z80 аналогом MOV является мнемоника LD (от LOAD).

  • @Zurenio
    @Zurenio 2 หลายเดือนก่อน

    Dear friend... Wonderful...!!! Can I donate with PayPal ? (from Italy)

    • @VadRov
      @VadRov 2 หลายเดือนก่อน

      Thank you. There is no need to donate. 🙂

  • @v7bdv7bd34
    @v7bdv7bd34 2 หลายเดือนก่อน

    Супер тетрис! Даже многие новее выглядели на много хуже.

  • @Zurenio
    @Zurenio 3 หลายเดือนก่อน

    🥰😍🤩👏👏👏🙏🙏🙏🙏

  • @cafedead
    @cafedead 3 หลายเดือนก่อน

    15:21 Если проверяемый командой BIT бит сброшен, то флаг нуля будет установлен, т.е. бит Z флагового регистра будет установлен, а не сброшен. Типа, ноль. Если проверяемый бит установлен, то флаг нуля будет сброшен. Типа, не ноль. Ну и по конструкции switch/case вы привели не совсем корректный аналог на ассемблере. switch/case был введен в языки высокого уровня как раз для того, чтобы реализовать возможность процессоров табличного перехода, иначе хватало бы портянки из ifов. Табличный переход - это когда на этапе компиляции или вами вручную создается таблица адресов начала кода обработки каждого case, на один из которых затем одной инструкцией по вычисленному адресу происходит переход. В современных процессорах есть для этого одна инструкция, например jmp dword ptr [addrTable + ecx*4], но вот JP (HL) у Z80, несмотря на ее многообещающий синтаксис, увы, сама по себе не предоставляет весь этот комплексный функционал вычитывания адреса из пары ячеек с адресом HL, и к ней требуется дополнительный код, который тем не менее будет отрабатывать быстрее, чем ваша портянка сравнений и условных переходов при некотором количестве вариантов case. Суть идеи в том, чтобы сразу переходить к исполнению нужной секции кода, затрачивая на это небольшое и фиксированное количество тактов, а не идти к ней по долгой цепочке проверок с непредсказуемым количеством затраченных тактов на эти операции. Например, LD BC,tableAddr; загружаем адрес начала таблицы переходов в BC, в таблицу прекомпилируем адреса меток для каждой секции case, т.е. tableAddr defw case_0, case_1,... case_n, далее то, что в параметре switch, считаем в HL, удваиваем ADD HL,HL, добавляем одно к другому ADD HL,BC, загружаем адрес из таблицы с вычисленным смещением LD E,(HL); INC HL; LD D,(HL); EX DE,HL; и совершаем один переход с помощью JP (HL). Для несуществующих и запредельных значений и секции default можем добавить перед этим одно сравнение и один условный переход на метку default, и в таблице забиваем для неперечисленных значений адресом метки default. Ваша же связка из сравнений cp NN и условных переходов jr z,... - это не совсем то, что задумывалось авторами switch/case. Чем это тогда отличается от портянки ifoв? Ничем... Вы привели медленный деоптимизированный вариант, к которому приходит компилятор, когда бездари используют switch/case неправильно. Мой вариант - 50 тактов (если обрабатываем дефолты, то чуть больше) для любого кейса, хоть сотню их заведите, а ваш вариант: 14 тактов для первого же кейса, для второго - 33 такта, для третьего - уже 52 такта, уже, очевидно, что неправильный путь избрали, он валиден только для пары кейсов в свиче. И это на Z80. На x86 потери от несделанных переходов вообще практически нет из-за предсказания ветвлений, и там мой вариант станет еще более эффективным, еще и одной инструкцией переходы делаю, а ваш вариант будет еще менее эффективным. Поэтому я посчитал важным сделать такое замечание, чтобы вы встали на путь истинный, и не учили людей плохому. Понимание этой механики дает возможность писать эффективный код и на любом языке высокого уровня...

    • @VadRov
      @VadRov 3 หลายเดือนก่อน

      @@cafedead , замечание правильное. Но народ я не учу, так как не учитель. Оптимизация кода, о которой Вы упоминаете - это совсем другой уровень в познании ассемблера, потому что для начала необходимо этот самый ассемблер изучить. Всё правильно, но всему, как говорится, своё время.

  • @AVK130174
    @AVK130174 3 หลายเดือนก่อน

    IGBT так то биполярник по факту, правильно говорить наверно n-p-n а не n-канальный

    • @VadRov
      @VadRov 3 หลายเดือนก่อน

      Если помню, то здесь я говорил так, как написано в спецификации на данный транзистор 🙂

  • @ПашТел
    @ПашТел 3 หลายเดือนก่อน

    Я вот также психонул и сам поменял дисплей

  • @gan-p7r
    @gan-p7r 3 หลายเดือนก่อน

    Ужасно. Нереально смотреть, сплошная долбёжка крючком.

  • @tanjaivanova6544
    @tanjaivanova6544 3 หลายเดือนก่อน

    Возможно ли такой эбу запрграммировать на управление отоплением дома, т.е. подсоединить и управлять аналоговыми датчиками , сервомоторами? Готов сотрудничать с Вами на взаимовыгодных услоаиях, спасибо

    • @VadRov
      @VadRov 3 หลายเดือนก่อน

      Возможно. У него для такого использования фактически всё есть. Останется только решить вопрос с индикацией для создания простейшего интерфейса (например, при настройке/индикации заданной температуры теплоносителя в подающей/обратной линии). Мне реализовывать подобные проекты сейчас некогда, да, и не совсем они целесообразны на древнем железе с учётом современного развития микроконтроллеров.

    • @vladimirr.1260
      @vladimirr.1260 หลายเดือนก่อน

      У меня товарищ с помощью ардуины управляет отоплением в доме. Незачем такую балалайку закупать как на видео. Если не хватит ардуины, можно блюпил купить на stm32. Это 2-3 бакса будет стоить. Переферия всякую на них тоже рубь за пучок. Из всего этого ЭБУ только драйверы интересны. Но, как я уже сказал, всякой периферии для ардуины на али хоть соли её, хоть жопой ешь, компонуй как хочешь. Информации по программированию - море. А эту штуковину перепрограммировать - натягивать сову на свои задачи. Мазохизм какой-то. P.S. Да тут, оказывается, весь канал об этих блюпилах. Интересно.

  • @ГригорийТитов-й6ь
    @ГригорийТитов-й6ь 3 หลายเดือนก่อน

    Не проверяя экран всё собрать. Нужна отвага.

    • @VadRov
      @VadRov 3 หลายเดือนก่อน

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

  • @gmmc_84
    @gmmc_84 3 หลายเดือนก่อน

    Приветствую, у меня дисплей ili 9341 вот только с тачем на контроллере ADS7846, это вроде клон xpt2046. Подскажите пожалуйста, драйвер подойдет или нужно править?

    • @VadRov
      @VadRov 3 หลายเดือนก่อน

      Приветствую. Теоретически доолжен подойти. Пробуйте.

  • @nikolaigert1088
    @nikolaigert1088 3 หลายเดือนก่อน

    Забыл решётку слухового динамика поставить, нужно было со старого дисплея снять

    • @VadRov
      @VadRov 3 หลายเดือนก่อน

      @@nikolaigert1088 , не забыл. 🙂 она была повреждённой. Потом её на клей сажал, т. к. новую не купил. Пришлось с ней помучиться изрядно. 🙂

  • @starets_fugas
    @starets_fugas 3 หลายเดือนก่อน

    У этого процессора есть куча недокументированных команд, к слову. Некоторые ассемблеры их понимают.

  • @ВладимирРадомский-т1и
    @ВладимирРадомский-т1и 3 หลายเดือนก่อน

    💪👍

  • @Nejexl
    @Nejexl 4 หลายเดือนก่อน

    У меня отошел дисплей от корпуса :/ Вот теперь сижу и думаю отнести в сервис или самому проклеить (только нехочется заднюю крышку снимать и все его внутренности)

    • @VadRov
      @VadRov 4 หลายเดือนก่อน

      Если сильно отошел, то можно попробовать аккуратно отклеить дисплей, но без опыта, есть вероятность его повредить. Если телефону больше двух лет, то мероприятие можно совместить с заменой аккумулятора. Обычно после этого срока у этих телефонов быстро начинает "стареть" аккумулятор (в семье три таких телефона с разной степенью "загрузки", но после 2-х лет эксплуатации мы все заметили резкое снижение времени работы от АКБ).

    • @Nejexl
      @Nejexl 4 หลายเดือนก่อน

      @@VadRov ему больше 4-х годиков

  • @gpowertesla1714
    @gpowertesla1714 4 หลายเดือนก่อน

    Это невероятно круто

  • @eliasstein2779
    @eliasstein2779 4 หลายเดือนก่อน

    Спасибо🤙

  • @Ed-yr1lr
    @Ed-yr1lr 4 หลายเดือนก่อน

    Привет. Можешь подсказать, при заливке программы обязательно чтобы ЭБУ разгоняли вентилятор охлаждения ДВС? А то мне при заливке сняли фишку с вентилятора чтобы он не включался

    • @VadRov
      @VadRov 4 หลายเดือนก่อน

      Приветствую. Это, наверное, зависит от программного обеспечения. Включение вентилятора - это, думается, "побочное незапрограммированное умышленно явление" (а, может, и сознательно допущенное). На физическом уровне в ЭБУ есть порты ввода-вывода, а в электронной схеме авто есть реле вентилятора, которое может быть с нормально замкнутыми либо нормально разомкнутыми контактами. Порты управляют этими реле, через которые запитывается вентилятор. Если при инициализации м/к ЭБУ записать неверное значение в этот самый порт (например, 1 вместо 0 либо наоборот в зависимости от типа реле), то, соответственно, и будет "беспричинно" вращаться вентилятор.

  • @CoBaldr
    @CoBaldr 4 หลายเดือนก่อน

    Можно же просто обертку написать😊

    • @VadRov
      @VadRov 4 หลายเดือนก่อน

      Все можно, только осторожно. 🙂Когда надо передать параметры подпрограмме в определенных регистрах, в разрез Соглашения, то без ассемблера (ассемблерной вставки в код на С) возникают проблемы.

  • @voltamper96
    @voltamper96 4 หลายเดือนก่อน

    18:55 Ввод, учите английский язык.

    • @VadRov
      @VadRov 4 หลายเดือนก่อน

      Одного изучения английского недостаточно. Надо иметь практику чтения технической литературы на английском, чтобы четко понимать, какой смысл вкладывал автор документации в некоторые фразы. Это особенно важно, например, когда имеешь дело с технической документацией на китайские м/к (esp, artery, ch и т.п.)

  • @soldatspb
    @soldatspb 4 หลายเดือนก่อน

    Красивый велосипед.

    • @VadRov
      @VadRov 4 หลายเดือนก่อน

      Что есть, то есть. Кстати, качество окраски достойное. Велик и сейчас с виду, как новый.

  • @dsadas_toratad
    @dsadas_toratad 4 หลายเดือนก่อน

    Возможно ли записывать информацию на SD-карту в while(1)? До цикла запись производится без проблем, в цикле никак записи достичь не могу.

    • @VadRov
      @VadRov 4 หลายเดือนก่อน

      Если цикл пустой, то попробуйте вставить в него хотя бы одну строку __NOP()

  • @AslanAslan-ei6ud
    @AslanAslan-ei6ud 4 หลายเดือนก่อน

    Have you made code video player with fsmc?

    • @VadRov
      @VadRov 4 หลายเดือนก่อน

      In this project the screen is connected via SPI. With FSMC you can do it by analogy. The only difference will be in the display driver. For example, on stm32f407vet6 this is easy to do. I developed the CMSIS driver for FSMC. I made some demos. Namely, I did not translate this project onto the screen from FSMC. Maybe someday, in my spare time, I’ll do it.

    • @AslanAslan-ei6ud
      @AslanAslan-ei6ud 4 หลายเดือนก่อน

      @@VadRov Thank you