Александр Рожков
Александр Рожков
  • 146
  • 231 955

Відео

Урок №49. Пишем программу для поиска адреса I2C датчиков в среде программирования Arduino IDE.
Переглядів 6555 місяців тому
Пишем программу для поиска адреса I2C датчиков в среде программирования Arduino IDE используя плату Arduino Nano. Текстовую версию можно посмотреть на сайте : texnohelp.com/avr-49
Урок №5. Настраиваем UART c помощью языка программирования Assembler на микроконтроллере Atmega8.
Переглядів 5507 місяців тому
Настраиваем работу шины UART c помощью языка программирования Assembler на микроконтроллере Atmega8.
Урок №13. Пишем программный код для подключения сдвигового регистра к микроконтроллеру AVR через SPI
Переглядів 5817 місяців тому
Пишем программный код для подключения 8-битного сдвигового регистр SN74HC595 к микроконтроллеру Atmega8 через SPI. Текстовую версию можно посмотреть на сайте: texnohelp.com/AVR-13/
Урок№2. Настраиваем ножки микроконтроллера TMS320F28027 на вход.
Переглядів 5899 місяців тому
Настраиваем ножки микроконтроллера TMS320F28027 на вход, изучаем особенности работы аппаратной системы анти дребезга. Текстовую версию урока можно посмотреть на сайте: texnohelp.com/tms320-2/
Урок №10. Подключаем TFT экран на драйвере R61520 к микроконтроллеру STM32f103.
Переглядів 63910 місяців тому
Пишем программный код для подключения TFT экран на драйвере R61520 к микроконтроллеру STM32f103. Текстовую версию можно посмотреть на сайте: texnohelp.com/stm32-10/
Урок№1. Мигаем светодиодами на TMS320F28027 в среде программирования Code Composer Studio.
Переглядів 1,1 тис.11 місяців тому
Мигаем светодиодами на микроконтроллере TMS320F28027 в среде программирования Code Composer Studio. Текстовую версию можно посмотреть на сайте: texnohelp.com/tms320-1/
Урок №4. Изучаем прерывания с помощью языка программирования Assembler на микроконтроллере Atmega8.
Переглядів 1,2 тис.Рік тому
Изучаем работу прерывания с помощью языка программирования Assembler на микроконтроллере Atmega8. Текстовую версию можно посмотреть на сайте: texnohelp.com/assembler-4/
Урок №3 Подключаем кнопку на языке программирования Assembler, при нажатии кнопки включаем светодиод
Переглядів 1,8 тис.Рік тому
Подключаем кнопку на языке программирования Assembler для микроконтроллеров AVR (atmega 8), при нажатии кнопки включаем/выключаем светодиод. Текстовую версию можно посмотреть на сайте: texnohelp.com/assembler-3/
Урок №8. Пишем музыку на микроконтроллере ESP8266 с помощью языка программирования microPython.
Переглядів 896Рік тому
Пишем музыку на микроконтроллере ESP8266 с помощью языка программирования microPython. Текстовую версию можно посмотреть на сайте: texnohelp.com/microPython-8/
Урок №6. Включаем два ядра на работу в микроконтроллере ESP32 в среде программирования Arduino IDE.
Переглядів 3,2 тис.Рік тому
Включаем два ядра на работу в микроконтроллере ESP32 в среде программирования Arduino IDE. Текстовую версию можно посмотреть на сайте: texnohelp.com/freertos-arduino-6/
Урок №4. Настраиваем ESP8266 / ESP32 в качестве точки доступа в среде программирования Arduino IDE.
Переглядів 2,3 тис.Рік тому
Настраиваем микроконтроллер ESP8266/ESP32 в качестве точки доступа в среде программирования Arduino IDE. Текстовую версию можно посмотреть на сайте: texnohelp.com/esp-4/
Урок №1. Пишем программный код мигания светодиодом используя Assembler на микроконтроллере Atmega8.
Переглядів 3,5 тис.Рік тому
Пишем программный код для мигания светодиодом с помощью языка программирования Assembler на микроконтроллере Atmega8. Текстовую версию можно посмотреть на сайте: texnohelp.com/assembler-1/
Урок№3. Пишем программный код для подключение экрана WINSTAR WH1602 к микроконтроллеру PIC16F873A.
Переглядів 1,3 тис.Рік тому
Пишем программный код для подключение экрана WINSTAR WH1602 по 4 битной шиной к микроконтроллеру PIC16F873A в среде программирования MPLAB X IDE. Текстовую версию можно посмотреть на сайте: texnohelp.com/pic-3/
Урок №1. Пишем первую WEB страничку с подключением к WiFi сети на языке программирования Lua.
Переглядів 1,1 тис.Рік тому
Пишем первую WEB страничку с подключением к WiFi сети на языке программирования Lua, выводим Hello Word. Текстовую версию можно посмотреть на сайте: texnohelp.com/lua-1/
Урок№ 17. Пишем программный код для подключения графического экрана SSD1306 к плате Arduino Nano.
Переглядів 923Рік тому
Урок 17. Пишем программный код для подключения графического экрана SSD1306 к плате Arduino Nano.
Урок №1. Выводим данные на WEB страничку с помощью JS на языке программирования С++ и microPython.
Переглядів 931Рік тому
Урок №1. Выводим данные на WEB страничку с помощью JS на языке программирования С и microPython.
Урок №5. Пишем программный код для настройки UART на прием данных на микроконтроллере Atmega8.
Переглядів 2 тис.Рік тому
Урок №5. Пишем программный код для настройки UART на прием данных на микроконтроллере Atmega8.
Урок№2. Настраиваем аппаратный ШИМ на микроконтроллере STM32f103 в среде Keil uVision.
Переглядів 1,4 тис.Рік тому
Урок№2. Настраиваем аппаратный ШИМ на микроконтроллере STM32f103 в среде Keil uVision.
Урок №2. Мигаем светодиодом используя счетчик в качестве прерывания на микроконтроллере CY8C21534.
Переглядів 839Рік тому
Урок №2. Мигаем светодиодом используя счетчик в качестве прерывания на микроконтроллере CY8C21534.
Урок №0. Настраиваем среду Code Composer Studio для программирования микроконтроллеров TMS320.
Переглядів 2,7 тис.Рік тому
Урок №0. Настраиваем среду Code Composer Studio для программирования микроконтроллеров TMS320.
Урок №1.Создаем задачи в системе FreeRTOS на базе микроконтроллера STM32F103.
Переглядів 3,8 тис.Рік тому
Урок №1.Создаем задачи в системе FreeRTOS на базе микроконтроллера STM32F103.
Урок №0. Почему важно уметь программировать на языке Assembler.
Переглядів 12 тис.Рік тому
Урок №0. Почему важно уметь программировать на языке Assembler.
Урок №3. Мигаем лампочкой с помощью контроллера Siemens в среде программирования TIA portal.
Переглядів 2,8 тис.Рік тому
Урок №3. Мигаем лампочкой с помощью контроллера Siemens в среде программирования TIA portal.
Урок №6. Пишем код для подключения OLED экрана к ESP8266 в среде программирования Arduino IDE.
Переглядів 836Рік тому
Урок №6. Пишем код для подключения OLED экрана к ESP8266 в среде программирования Arduino IDE.
Урок №5. Считываем температуру с датчика DS18B20 с помощью microPython на микроконтроллере ESP8266 .
Переглядів 1,4 тис.Рік тому
Урок №5. Считываем температуру с датчика DS18B20 с помощью microPython на микроконтроллере ESP8266 .
Урок №0. Подготавливаем программное обеспечение для изучения языка Lua на микроконтроллера ESP8266.
Переглядів 2 тис.Рік тому
Урок №0. Подготавливаем программное обеспечение для изучения языка Lua на микроконтроллера ESP8266.
Урок №36. Подключаем энкодер к плате Arduino Nano в среде программирования Arduino Ide.
Переглядів 676Рік тому
Урок №36. Подключаем энкодер к плате Arduino Nano в среде программирования Arduino Ide.
Урок №23. Пишем программный код для подключения датчика давления BM180 к плате Arduino Nano.
Переглядів 577Рік тому
Урок №23. Пишем программный код для подключения датчика давления BM180 к плате Arduino Nano.
Урок №0. Подготавливаем среду программирования Visual Studio для программирования ESP8266 HTML кодом
Переглядів 758Рік тому
Урок №0. Подготавливаем среду программирования Visual Studio для программирования ESP8266 HTML кодом

КОМЕНТАРІ

  • @VideoMaker1
    @VideoMaker1 6 годин тому

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

  • @gorigor_74
    @gorigor_74 10 днів тому

    Стоит такой в кондиционере китайком, он сгорел, поставили новый пустой нет прошивки и как его шить тоже не понятно? Рядом епром 2402!

  • @KarikhSergey
    @KarikhSergey 11 днів тому

    Задержка при помощи _delay() аж полсекунды. Я один угарнул? А что если нужно опрашивать датчик 100 раз в секунду и данные слать по UART? Какую задержку выставим тогда?

  • @marina16350
    @marina16350 14 днів тому

    Хорошее объяснение достоинств ассемблера! Однако лучше было ассемблерную программу писать для ATmega328p, микроконтроллера с той же тактовой частотой 16 МГц что и на Arduino nano (собственно и с тем же микроконтроллером). А то Atmega8 имеет в 4 раза меньшую тактовую частоту (4 МГц). Естественно при сравнении меандров на С++, С и ассемблере это надо учитывать.

  • @VX-4777
    @VX-4777 19 днів тому

    странный код и странно как он у Вас скомпилировался??? Откуда появился ds. ???? Также нет схем подключения. Всё как обычно в уме, а остальным догадываться???

  • @marina16350
    @marina16350 19 днів тому

    Прерывания здесь не используются. Окончание передачи байта устанавливается опросом бита регистра (поллингом флага). Так что прерывания можно и не разрешать, тем более что и обработчика прерывания в программе нет. Надлежащая работа программы (бегущий огонь) зависит от скорости работы SPI. У Вас частота SCK в 4 раза меньше тактовой частоты МК, т.е. Fsck=1 МГц, у меня (я пробовала в PROTEUS на ATmega328p с такт частотой 16 Мгц) что-то похожее на правду получилось лишь при Fsck=250 кГц. Разобралась, в чем проблема!!! - не надо перед входом в вечный цикл обращаться к регистру данных SPDR (строку SPDR = 0b00000000; следует закоментировать), из-за неё возникает проблема переполнения (в Proteus это хорошо видно). Это лишние данные, для которых в вечном будет производиться опрос готовности переданных данных (поллинг), из-за этого сбои в в передачах, и на параллельных выходах регистра (светодиодах) делается невесть что. На железе данное утверждение проверить не могу из-за отсутствия микросхемы регистра. Но в любом случае хуже не будет, если указанную строку убрать!

  • @marina16350
    @marina16350 Місяць тому

    Добилась работы кода и на макете и в Proteus. Для этого надо более точно сформировать временные диаграммы на параллельной шине, подключенной к LCD. Определения e0 и e1 использовать не надо. Лучше откорректировать функцию пересылки полубайта sendhalfbyte(unsigned char c): void sendhalfbyte(unsigned char c) // передача полубайта (ниббла) { c<<=4; //сдвигаем младший ниббл в старшие 4 бита unsigned char byte=portlcd|c; //вычисляем передаваемый на шину байт с учетом упраавляющих сигналов I2C_SendByteAddr(byte,0b01001110); //передаем на 4-разр шину полубайт (ниббл) с учетом сигналов управления _delay_us(50); // небольшая задержка byte|=(1<<2); //Подготавливаем E=1 I2C_SendByteAddr(byte,0b01001110); //передаем на 4-разр шину полубайт (ниббл) с учетом сигналов управления, подготовка строба - спадающего фронта на E _delay_us(50); // небольшая задержка byte&=~(1<<2); //Подготавливаем E=0 I2C_SendByteAddr(byte,0b01001110); //передаем на 4-разр шину полубайт (ниббл) с учетом сигналов управления, строб - спадающий фронта на E //После заднего фронта полубайт защелкнется в контроллере LCD HD44780 }

  • @marina16350
    @marina16350 Місяць тому

    Все работает на макете проверила (на плате Arduino Nano с ATmega328). Представленные библиотеки правильные. Не удалось к сожалению добиться работы соответствующей модели в PROTEUS.

  • @marina16350
    @marina16350 Місяць тому

    При TWPS1=TWPS0=0 (как в коде на сайте) для получения частоты SCL 100 кГц TWBR должен быть равен 12. Для получения частоты 100 кГц при тактовой частоте МК 4 МГц TWPS1=0 TWPS0=1 и TWBR=3. Смотри формулу TWBR = ((F_cpu/F_scl) - 16)/(2*4^TWPS), 4^1=4, 4^0=1, 4^3=64 (4000000/100000-16)/(2*4)=24/8=3. Если же как в видео TWPS1=1 TWPS0=1, то частота шины будет явно меньше 100 кГц. Но это не скажется на работе устройств подключаемых к шине, т.к. подключение происходит по схеме монтажное И, и частота диктуется наиболее медленным устройством на шине.

  • @Jojofanforever
    @Jojofanforever Місяць тому

    Круть

  • @marina16350
    @marina16350 Місяць тому

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

  • @marina16350
    @marina16350 Місяць тому

    Могу посоветовать автору различать понятия нажатие (или отпускание) кнопки и одиночный клик кнопки (нажатие, а затем отпускание) кнопки. В данном случае задавалась реакция именно на клик кнопки, поэтому программирование прерываний по нарастающему фронту (отпускание кнопки после нажатия) проходит. В варианте на ассемблере - другая ситуация. Там принципиально задание прерывания по спадающему фронту (нажатие кнопки). Автор использует стандартные микрокнопки, в которых практически нет явления дребезга контактов (по крайней мере в новых). Если взять другую кнопку (с заметным дребезгом) то написанная программа будет работать точно также, из-за особенности реализуемых программой действий. После нажатия кнопки из-за явления дребезга на входах прерываний пройдет много нарастающих фронтов и прерывание возникнет несколько раз. Однако сколько раз не включай или выключай светодиод - результат будет одним и тем же. Влиять дребезг будет в том случае, если, например, в прерывании происходит подсчет кликов кнопки - в этом случае результат будет непредсказуемым. Именно в таком случае при входе в прерывание нужна антидребезговая задержка, а при выходе из прерывания сброс соответствующего флага прерывания. Т.к. во время антидребезговой задержки флаг прерывания из-за дребезга установится повторно и прерывание возникнет еще один раз. Кстати, при отпускании кнопки причины для дребезга нет, следовательно и дребезга нет, но он есть при нажатии, которое естественно происходит во времени до момента отпускания.

  • @marina16350
    @marina16350 Місяць тому

    Следовало бы сказать о начальной системной области Flash памяти - области векторов прерываний. Ведь они используются: rjmp RESET rjmp EXT_INT0. И еще вопрос: прерывания на INT0 (PORTD.2) запрограммированы по нарастающему фронту (переход из низкого в высокий уровень), а когда нажимается кнопка возникает другой фронт - спадающий - переход из высокого уровня в низкий, а в обработчике прерывания после антидребезговой задержки проверяется нажатое состояние кнопки (низкий уровень на PIND.2). Таким образом прерывание возникнет после отпускания нажатой бездребезговой кнопки кнопки или во время дребезга дребезговой кнопки. Таким образом программа с бездребезговой кнопкой работать не будет, а с дребезговой будет (проверила на макете именно с разными кнопками). У вас по-видимому кнопка с дребезгом была, поэтому и заработало. Чтобы программа работала абсолютно верно (т.е. одинаково и с бездребезговой кнопкой и с кнопкой с дребезгом), надо запрограммировать прерывание INT0 по спадающему фронту, т.е. ldi temp, (1<<ISC01)|(0<<ISC00) ; прерывание INT0 по спадающему фронту (при нажатии кнопки) out MCUCR, temp А так глобально все верно и подход к обработке кнопки на прерывании правильный. Еще желательно перед возвратом из обработчика (а именно перед разрешением прерываний), сбросить флаг прерывания INT0, который может повторно установиться из-за дребезга, вызвав вложенное прерывание, т.е. добавить команды: ldi temp,(1<<INTF0) out GIFR,temp ;сброс флага прерывания, который возможно установился повторно во время дребезга Так что работа с кнопкой на прерывании, задача довольно сложная и требует массы экспериментов на железе, через что я прошла.

  • @marina16350
    @marina16350 Місяць тому

    Судя по объяснениям автора нажатию кнопки соответствует подключение бита 2 порта D к земле (в настройках эта линия порта D настроена на ввод и подтянута к питанию внутренним подтягивающим резистором). Тогда 3-ей командой после метки PINCYCLE должна быть команда SBIC PIND,2 (Skip Bit Clear - пропустить следующую команду, если линия PIND.2 =0, или что то же самое - пропустить следующую команду, если кнопка нажата). В программе видеоролика там стоит команда SBIS PIND,2 - Skip Bit Set - пропустить следующую команду если бит установлен, что неверно - не соответствует продекларированному замыслу. И вообще для столь простой задачи как изменение состояний линий 0 и 1 порта D в зависимости от состояния кнопки (нажата - отпущена) данный код довольно запутанный и к тому же неоптимальный. Отсутствие же подробных комментариев к тексту программы при наличии ошибок делает восприятие данного ролика весьма затруднительным не только начинающему обучение, но и человеку имеющему опыт в практическом программировании. Кстати попробовала на железе с 3-ей командой после метки Pincycle SBIS PIND,2 (как у автора в ролике и на сайте). Внешне все как будто нормально - работает. Однако это из-за того что далее стоит задержка в 100 мкс (длинная часть кода) и наиболее вероятно момент нажатия кнопки приходится именно на эту часть, поэтому и работает. При уменьшении задержки появляются сбои - залипание в исходном состоянии при нажатии кнопки. Тогда как при использовании SBIC и с минимальной задержкой DELAY все продолжает нормально работать!!!

  • @marina16350
    @marina16350 Місяць тому

    Добрый день! В принципе правильный разбор программирования на ассемблере, мне нравится. Есть одно замечание - ошибка в расчете тактов выполнения цикла WLOOP2 (начиная с 13 мин 10 сек). Цикл выполняется 199*3+2, а не так как сказано в видео 199*2+3. Т.к. именно в случае перехода на начало цикла WLOOP2 (повтор выполнения цикла) команда brne WLOOP2 выполняется 2 такта, а при выходе из цикла (нулевой результат), обычный инкремент программного счетчика PC - переход на следующую команду - 1 такт. В итоге: внутренний цикл WLOOP2 выполняется 3х199+2=599 тактов, средний цикл WLOOP1 - (599+1+3)х49+599+1+2=30149 тактов, внешний цикл WLOOP0 - (30149+1+3)х49+30149+1+2=1507649 тактов. Вся подпрограмма задержки, включая команды вызова rcall (3 такта) и возврата ret (4 такта) - 1507649+3+4=1507656 тактов. При тактовой частоте МК Atmega8 4МГц это будет 1507656/4000000=0.377 c. Для получения задержки свечения светодиодов 1 сек надо увеличить время выполнения внешнего цикла - 50Х(1/0.377)=133. Таким образом .equ Delay = 133.

  • @kendy8369
    @kendy8369 Місяць тому

    Здравствуйте! Помогите пожалуйста, Нужно чтобы работало через Keil но аналогично как в CubeIDE без SWO, потому что много микроконтролеров есть без SWO, к примеру серия - G0. А переходить в куб не вариант. ua-cam.com/video/mhrx0tNP_MM/v-deo.html

  • @Oleg-fp9hn
    @Oleg-fp9hn 2 місяці тому

    Добрый день. В процессе выполнения программы можно менять настройки таймера?

  • @user-ww7cq8zj6q
    @user-ww7cq8zj6q 2 місяці тому

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

  • @user-ww7cq8zj6q
    @user-ww7cq8zj6q 2 місяці тому

    Спасибо, но поподробнее бы про Клиента....что это такое? для чего его упоминать в коде.. Для меня это новое и совсем не понЯтное..

  • @user-ww7cq8zj6q
    @user-ww7cq8zj6q 2 місяці тому

    Интересно. Я собираюсь разбирать ваши уроки. Интересует не только измерение но и управление / воздействие на измеряем величину. Т.е. обратная связь через web интерфейс. Я новичок, работал только с нано, интересует беспроводное измерение/управление.

  • @YurijVasiliev
    @YurijVasiliev 2 місяці тому

    Наверное лучший урок по выделению памяти во Фриртос. !!! Более доступного и простого обяснения я не встречал

  • @egorchech
    @egorchech 2 місяці тому

    Обязательно с setup убирать pinmode? Зачем каждый раз его вызывать при старте таска?

  • @ВиталийБуртан
    @ВиталийБуртан 2 місяці тому

    Light-sleep чем можно подавать сигнал для засыпания и пробуждения? Sim800l с контакт RING сможет разбудить? ( Звонок на sim800l будет будить еsp ,для выполнения каких либо действий а после еsp уходить в сон)

  • @michaeljordan1283
    @michaeljordan1283 2 місяці тому

    Если программа занимает меньше байт памяти, то потребление энергии тоже сократится?

    • @AlexanderRozhkov_
      @AlexanderRozhkov_ 2 місяці тому

      Не совсем, все зависит от частоты работы и периферии которая включена.

    • @michaeljordan1283
      @michaeljordan1283 2 місяці тому

      @@AlexanderRozhkov_ Согласен. Но, если при одинаковом потреблении энергии периферией то программа на ассемблере будет потреблять меньше энергии (из-за меньшего объема) чем программа, написанная на высокоуровневом языке.

  • @panika2247
    @panika2247 2 місяці тому

    Здравствуйте! hc-05 получилось подключить к программе и вроде правильно мигает, но OK не отвечает. Подскажите пожалуйста, что можно с этим сделать?

  • @up7zy9mk5l
    @up7zy9mk5l 2 місяці тому

    ​ @AlexanderRozhkov_ добрый день. На основе вашего урока хочу освоить запись во флеш нужных параметров. Для разработки использую плату ESP32-C3 SuperMini. Так как у меня нет такого же датчика, как у вас, я присваиваю значения temp = random(255). Скетс компилится и заливается в контроллер. но в мониторе порта или глухо или иногда появляется строка / temp content. Пробывал менять размер памяти, flash mode QIO/DIO, через плагин предварительно создавать SPIFFS раздел в памяти и удаление true из SPIFFS.begin(). Скорость СОМ порта верная. Ничего не помогает, оказался в тупике. Подскажите, пожалуйста, в чем может быть проблема?

  • @Blond055
    @Blond055 2 місяці тому

    Отличный материал! Спасибо!

  • @starboom92
    @starboom92 3 місяці тому

    Chào bạn, tôi có thể xem sơ đồ đấu nối để nạp chương trình cho Cy8c21534 của bạn không, tôi đang nạp nhưng không được

  • @TempMep3aB4uk
    @TempMep3aB4uk 3 місяці тому

    Спасибо. Доступно объясняете. Как раз то что и искал.👍

  • @torhristos115
    @torhristos115 3 місяці тому

    А в чем может быть проблема если ввожу команды на включение и выключение 13го пина, примерно на 5й раз перестает работать? Спасибо

  • @user-kh6sr8tp1m
    @user-kh6sr8tp1m 3 місяці тому

    важно для каких целей уметь программировать на Assembler ? Ответ не был дан

  • @Bezborodov_Nikolay
    @Bezborodov_Nikolay 3 місяці тому

    Это что за фирма такая PIC?

  • @the_inevitability_of_stupidity
    @the_inevitability_of_stupidity 3 місяці тому

    У меня почему то не работает printf

  • @user-wv1yz8cx3v
    @user-wv1yz8cx3v 3 місяці тому

    Добрый день ! У меня почему то получается ошибка . : Error 1 Missing include file name. Ошибка 1. Отсутствует включаемое имя файла.

  • @user-hr9sb2fd6k
    @user-hr9sb2fd6k 3 місяці тому

    вы полезный человек

  • @EdwardYamunaque
    @EdwardYamunaque 3 місяці тому

    I like avr

  • @DAlexMaster
    @DAlexMaster 4 місяці тому

    Если уйти от Ардуино и использовать взрослые IDE для написания программ на С/С++, то настраивая режимы оптимизации компилятора, мы получим почти такой же эффект, как от написания кода на ассемблере, а в некоторых случаях и лучше!

  • @user-kt5re4ul7y
    @user-kt5re4ul7y 4 місяці тому

    Здравствуйте, а как прочитать-скопировать код с устройства

  • @Railerable
    @Railerable 4 місяці тому

    Подскажите, пожалуйста, если у меня есть модуль hc-05 и мне нужно сделать его копию и перенести в другой купленный новый модуль hc-05, как-то можно настройки и прошивку из него скопировать со старого на новый?

  • @user-lw2wx2qb5z
    @user-lw2wx2qb5z 4 місяці тому

    А МОЖНО БЛЯДЬ ЕЩЕ ПОБЫСТРЕЕ ? А ТО ЧТО ТО НЕ ПОНЯТНО

  • @Icanfly-
    @Icanfly- 4 місяці тому

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

  • @ИванВасильев-т4ш
    @ИванВасильев-т4ш 4 місяці тому

    А как настроить шим четыре канала с мертвым временем, для управления биполярным шаговым двигателем. МОжно дергать ноги в ручном режиме, но это не кашерно (хотя как вариант через ПДП или что-то в этом духе...). Если есть таймер с четырмя-шестью каналами, они как-то должны взаимодействовать?

  • @user-mb3gw1vg7y
    @user-mb3gw1vg7y 4 місяці тому

    Прерывание раз в микросекунду, это жестоко. Особенно учитывая, что опрашивать датчик температуры нет никакого смысла чаще раза в секунду (и то много). Он и без прерываний прекрасно работает. Просто считыванием счётчика из таймера. Там достаточно большие допуски на времена. А вообще с этим ONE WIRE самое интересное начинается при подключении нескольких устройств на одну линию. (Если их адреса заранее не известны). Ну и CRC тоже специфически считается.

  • @user-sf9nn6dh2q
    @user-sf9nn6dh2q 4 місяці тому

    А для esp8266 в среде Arduino, есть freertos?

  • @TheSoundshift
    @TheSoundshift 4 місяці тому

    DHT22 - датчик влажности и температуры.

  • @AlexanderSuraev
    @AlexanderSuraev 5 місяців тому

    Здравствуйте. Не подскажете, в чем может быть проблема. ESP32. описываем прерывание на 12 ноге attachInterrupt(digitalPinToInterrupt(12), prerivanie, RISING); само прерывание void prerivanie() { код исправно включает/гасит по кнопке на 12 ноге диод }, но вот вывод на индикатор 1602 в прерывании никак не происходит и измененные переменные из прерывания в основную программу не попадают . При попытке записать void IRAM_ATTR prerivanie() или же void ICACHE_RAM_ATTR prerivanie() выскакивает ошибка "void ICACHE_RAM_ATTR prerivanie()". Подозреваю что вывод на индикатор не идет, потому что использую библиотеку LiquidCrystal_I2C переменные которой не заявлены как volatile. Чем не нравятся IRAM_ATTR / ICACHE_RAM_ATTR и почему внутри прерывания не работает вывод на индикатор?

  • @slonbeskonechen8310
    @slonbeskonechen8310 5 місяців тому

    ну а как во flash залить? и как дебажить из флеша?

    • @AlexanderRozhkov_
      @AlexanderRozhkov_ 5 місяців тому

      Немного позже выпущу урок, сейчас ну ооочень занят.

  • @alekskapitonov2738
    @alekskapitonov2738 5 місяців тому

    Спасибо большое!

  • @hakobhunanyan7153
    @hakobhunanyan7153 5 місяців тому

    Ваши видео без фокуса

  • @user-ye8sd1ks5n
    @user-ye8sd1ks5n 5 місяців тому

    Почти во всех Ваших скетчах идет цикл точки вместо соединения с WiFi. Так и в этом продолжается.