STM32 ADC. Основные приемы работы. Примеры кода и настройки.

  Рет қаралды 25,303

Vladimir Medintsev

Vladimir Medintsev

4 жыл бұрын

Основные настройки STM32 ADC. Коротко и по делу, как включить, как настроить использовать. Примеры кода.
Канал в телеграмм - t.me/vladimir_medintsev
Канал Яндекс.Дзен - zen.yandex.ru/vladimir_medintsev
Канал на RuTube - rutube.ru/channel/1797552/
Канал на KZfaq - / vladimirmedintsev
------------------------------------------
Если вы хотите поддержать автора канала номер карты Сбер:
2202-2023-2480-4008
------------------------------------------

Пікірлер: 129
@user-qh2go7gv6j
@user-qh2go7gv6j 6 ай бұрын
Нормально все видно, продолжайте снимать видео, очень интересно
@Scherbakov
@Scherbakov Жыл бұрын
Спасибо за видео! С экрана смартфона всё видно.
@user-zc3lb9st8e
@user-zc3lb9st8e 3 жыл бұрын
По идее так по таймеру будет срабатывать АЦП раз в 2 секунды, только первое срабатывание после включения или перезагрузки микроконтроллера произойдет через 1 секунду. Это связано с тем, что Toggle on match меняет состояние с LOW на HIGH и наоборот при сравнении со значением в Pulse. Если разбирать Ваш случай, то при включении МК таймер начнет считать до 1000, затем он сбросится и сравняется со значением в Pulse (0), в этот момент произойдет переключения сигнала с LOW на HIGH, что вызовет наше событие (АЦП) и мы получим значение через секунду, потом таймер снова досчитает до 1000 (пройдет 1 секунда), сбросится и произойдет переключение сигнала, но уже с высокого уровня (HIGH) на низкий (LOW), что уже не вызывает наше событие, поэтому мы не получим значение с АЦП через секунду, далее счетчик снова отсчитывает до 1000 и при сбрасывании меняет уровень сигнала уже с LOW на HIGH, что нам и нужно для вызова АЦП, затем данный цикл повторяется. Поэтому получать данные с АЦП мы будем раз в 2 секунды в этом случае.
@user-bx3qg8js3b
@user-bx3qg8js3b Жыл бұрын
Спасибо за урок, всё классно и понятно.👍 Я без проблем вижу всё на экране монитора. Всех Вам благ.
@admin_of_youtube
@admin_of_youtube 4 жыл бұрын
супер! хоть и хорошо знаю ацп, но с удовольствием посмотрел. спасибо!
@user-gr5qb2iv8w
@user-gr5qb2iv8w Жыл бұрын
Смотрю 90% ваших видео с мобильного (5,5 дюймов 1080р амолед) и все отлично видно!
@Ordinary_man2049
@Ordinary_man2049 7 ай бұрын
Спасибо большое. Очень полезное видео. Хотелось бы больше информации для начинающих, но с Вашей позицией я знаком по этому поводу.
@Muhomorik
@Muhomorik 4 жыл бұрын
Спасибо. Досмотрел до конца!
@windy_sky
@windy_sky 4 жыл бұрын
Нормальное поучительное видео. Я много раз уже обращался к вашим роликам, когда разбираться сильно не хочется а сделать надо.
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Спасибо.
@sh6194
@sh6194 4 жыл бұрын
Мужик, ты крут!
@Testoslav_Testenko
@Testoslav_Testenko 2 жыл бұрын
Нормально видно на телефоне, только качество на максимум нужно. Видео для меня полезно, спасибо!
@iwh1te340
@iwh1te340 4 жыл бұрын
Нормально все видно, 720р на j7 видно все прекрасно)
@NIKOLAY_PSHONIA
@NIKOLAY_PSHONIA 3 жыл бұрын
Владимир спасибо. Подскажите stm32f4 два датчика темпераптуры (100к). Хочу делать по 6 замеров - > скидывать в буфер 1раз в секунду по 6 непрерывных замеров (потом /6 = усредняю). делаю PID по вашему видео volatile uint16_t adc_buffer[6][2]; // [6 замеров] для [2х датчиков] через DMA, но без прерывания и таймера. Лучше инжекторный или ошибаюсь? и про настройку что за чем - PORT. DMA. ADC ?? (беру готовые примеры у всех по разному)
@user-jl7et8gx5u
@user-jl7et8gx5u 4 жыл бұрын
Спасибо
@user-hv9rt7ye6h
@user-hv9rt7ye6h 3 жыл бұрын
Все видно спасибо делайте в куб пожалуйста
@user-fh8jz2df5j
@user-fh8jz2df5j 4 жыл бұрын
Спасибо за видео. А по поводу разрешения захвата экрана, то мне кажется, что нужно снимать под FullHD. Поясню. Если я посмотрел видео на мобильном устройстве (как говорится, на ходу) и содержание меня заинтересовало, то я обязательно добавлю его себе в закладки, чтобы посмотреть его позже на стационарном ПК в нормальном разрешении.
@user-hm7gl7er6z
@user-hm7gl7er6z 3 жыл бұрын
ПРИВЕТ! DAC к таймеру привязывать аналогично? мне нужно сделать отсчет от большего до нуля в течении времени.
@alexeykondrashov2254
@alexeykondrashov2254 4 жыл бұрын
Владимир, за библиотеку 3F 1.11 отдельное Спасибо.
@danilgaijin8366
@danilgaijin8366 4 жыл бұрын
В стандартной винде есть инструмент лупа, можно её использовать. А вообще пора вам помощника искать для монтажа ) За видео спасибо )
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Был бы с этого доход хоть какой-нибудь было бы время и на монтаж. А так это хрупкий балланс между развлечением и хобби. Я вообще задумываюсь сбежать в англоязычный сегмент.
@user-tg6ox3wh4v
@user-tg6ox3wh4v 4 жыл бұрын
@@VladimirMedintsev зачем сбегать? Можно же между видосиками про STM выкладывать видео про различные блюда. Сегмент домохозяек очень большой и подписоты много будет. Почти все каналы такой тематики МК набирают подписчиков не более 10 тыс.
@ajdarseidzade688
@ajdarseidzade688 4 жыл бұрын
@@VladimirMedintsev Не уходите пожалуйста :) Еще хотел сказать, что в этот раз у Вас, тьфу-тьфу не сглазить, вообще очень четкое и информационно наполненное (в смысле достаточно быстро говорили) видео вышло. У Вас вообще и до этого все видео очень и очень неплохие.
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
@@ajdarseidzade688 Да блин это все по ночам делается, иногда просто не получается быстро говорить. Я для такого всем советую в настройках просто включить ускоренный просмотр видео. И отрегулировать скорость как кому нравится.
@UstinovUM
@UstinovUM 4 жыл бұрын
Можно монтировать видео во всяких SonyVegas, там можно довольно быстро увеличить нужный фрагмент, кроме того, можно записывать отдельный участок и у некоторых записывающих экран программ есть функция увеличения. Но это будет отнимать ваше время, к сожалению. Но самое главное это конечно нормальный монитор. Храни судьба тех людей, кому хватает одного монитора и тем более ноутбучного.
@vasiavasia8969
@vasiavasia8969 3 жыл бұрын
- пасиба за видео, дай Бог вам здоровья. Подскажите, у вас вначале крупным планом PCB-шка с энкодером, подскажите, какие есть хорошие и качественные энкодеры, с плавным хорошим ходом. Эти обычные дешевые китайские, они все какие-то деревянные, или туго идут или почти не чувствуется трещётки. Имею в виду, если вдруг вы знаете типы энкодеров, доступные к покупке на e-Bay или Ali-шке, такие как в измерительных приборах стоят. Спасибо.
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Покупка это всегда в каком-то роде лотерея. Нельзя сказать заранее что вот этот товар особо хорош. Я покупаю много и от партии к партии все сильно меняется.
@ivanrusev2270
@ivanrusev2270 3 жыл бұрын
в инжект каналах 4 дата регистров 4 канала можно настроить.И управление 4 шимами
@dimonthik
@dimonthik 2 ай бұрын
Какой системной литературы много на эту тему? Я по стм32 нашел только какие-то слайдовые обзоры, как на презентации, много AN и похожей документации на сайте ST, но она написана для людей которые уже умеют программировать, я бы не сказал что такое подходит новичкам. Скажите название литературы которая относиться к системной на эту тему?
@SkuratovAndrew
@SkuratovAndrew 2 жыл бұрын
Добрый день Владимир. Не читал все комментарии, был ли такой вопрос: можно ли запускать тайм-аут опроса АЦП (функция HAL_ADC_PollForConversion(...)) с большей скоростью, т.е. не в миллисекундах, а в микро или наносекундах? Ведь частота тактирования и преобразования АЦП не такие низкие...
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Есть много способов запустить преобразования с требуемой частотой. Посмотрите в сторону DMA.
@YuriyIY
@YuriyIY 4 жыл бұрын
Делители в таймерах надо уменьшать на 1.Т.е., не 8000, а 7999. Не 1000, а 999. Тогда всё будет точно.
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Я и в массивах про нулевой элемент вспоминаю только когда отлаживать начинаю. А все потому что нету в наших домах нулевого этажа. Во всем правительство виновато.
@YuriyIY
@YuriyIY 4 жыл бұрын
@@VladimirMedintsev Вот нигадяи, а. :-)
@Mr2718281828459
@Mr2718281828459 3 жыл бұрын
Доброго времени суток. Владимир, какую литературу почитать по stm32?
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Все интересное и необходимое на сайте st.com или вот тут я про хорошую книгу рассказывал kzfaq.info/get/bejne/mrmZodqbu5fahoU.html
@MrVladkk
@MrVladkk 3 жыл бұрын
Добрый вечер! Обновление с версией 1.11.1 глючное только для STM32F3? Для других оно нормально? У меня STM32F0.
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Я проверял только на F3 и мы сразу всей компанией откатились в ожидании.
@user-sv4nn6vy1l
@user-sv4nn6vy1l 4 жыл бұрын
Здравствуйте, Владимир. С огромным интересом смотрю Ваш канал. Очень интересует вопрос создания электронных весов на базе STM32. Приобрел у китайцев на Али комплект (тензодатчик 10 кг + АЦП hx711) Нужно прикрутить эту связку к STM32, а результат вывести на обычный LCD1602. Но знаний катастрофически не хватает. Думаю такой проект заинтересовал бы многих Ваших подписчиков. Желательно в среде разработки CubeIDE.
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Благодарю вас за идею. Это я всегда с удовольствием. Но чтобы было интересно заниматься каким-то проектом нужно как минимум иметь все на столе, а тензодатчиков у меня нету. И микросхемки для них тоже.
@user-wy1kp2uv4k
@user-wy1kp2uv4k 4 жыл бұрын
Добрий вечер, а можно ли скачять куб без регистрации. У мене не получаетса зарегистрироватса на "ст.ком"
@Soldera_tools
@Soldera_tools 2 жыл бұрын
помогите с вопросом новичку) плата bluepill, затык на примере с прерыванием. сделал как на видео, но переменная val не меняется, хотя в отладчике во вкладке регистров SFRs регистр ADC-DR-DATA меняется корректно
@Soldera_tools
@Soldera_tools 2 жыл бұрын
разобрался сам. частота МК и частота отладчика не совпадали. может коллеге-новичку пригодится данная информация
@user-eo5xx4yv1n
@user-eo5xx4yv1n 2 жыл бұрын
Подскажите пожалуйста, с АЦП приходят какие-то "средние" значения если на пинах ничего нет, я ожидал увидеть там ноль или как у вас минимальные, по факту там от 1000 до 2000, если замыкаю на 3V то все нормально, отображает ~4000
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Это нормально.
@user-eo5xx4yv1n
@user-eo5xx4yv1n 2 жыл бұрын
@@VladimirMedintsev нет ли в таком случае возможности как то это регулировать, тоесть изменение напряжения почувствовать получается, а как быть с обрывом линии? Неужели только дополнительными элементами схемотехникой?
@user-je8oz6lh6w
@user-je8oz6lh6w 3 жыл бұрын
Здравствуйте Владимир !!! Пересмотрел ещё раз видео про АЦП и имею ряд вопросов. Описание задачи: Я выбрал для своего устройства процессор STM32L151VDT6. Одна из причин - мне необходимо измерять сопротивление термопреобразователя Pt100 по четырехпроводной схеме. А у процессоров с буквой V (100 ног), помимо VDDA и VSSА есть еще на отдельных ногах VREF+ и VREF-. Ну и я рассуждал так - берем опорный резистор (200 Ом 25ppm) , подключаем его между REF+ и REF-, REF- на землю. Последовательно с опорным подключаем измеряемый резистор и верхний конец его запитываем от Vcc (оно же- VDDA). Т.е. Получаем цепь Vcc - Rизм - Rопорн-GND. По этой цепи течет ток и мы имеем падение напряжения на Rопорн - подаем его на REF+ и REF-, а также имеем падение напряжения на Rизм - подаем его на IN0 и IN1. И все красиво. Измеряем разницу между IN0 и IN1, относительно опоры REF+ и REF-. А вопрос вот в чем - могу ли я при этом измерить, например, напряжение опорного источника микропроцессора (Vrefint) для вычисления напряжения питания, например? Ведь опорой для АЦП теперь у меня будет не напряжение питания, а падение напряжения на опорном резисторе. На Nucleo мне эту ситуацию проработать не удалось. Зарание скажу - я развел на плате еще и AD7790 так что измерение термометра могу перенести туда. Но все, если бы можно было бы не паять AD7790 - всё ж комплектация будет дешевле.
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Если кратко то vrefint подключен к одному из каналов вашего АЦП, вы можете считать это значение. Смотрите в кубе.
@user-je8oz6lh6w
@user-je8oz6lh6w 3 жыл бұрын
@@VladimirMedintsev Как Vrefint считать я понимаю. Как вычислить напряжение питания не понимаю. Если бы у меня REF+ было бы подключено к питанию - тогда понятно. Вся шкала 4095 - это напряжение питания, код полученный с Vrefint - 1,224В. Пропорция. Но у меня REF+ подключен не к питанию, а к опорному резистору. И падение напряжения на нем будет меняться от температуры т.к. будет меняться сопротивление измеряемого термодатчика, а значи - и ток. Вот если бы можно было бы, например, программно переключать опору АЦП с REF+ на VDDA - тогда бы получилось бы.
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
@@user-je8oz6lh6w Простите, с мобильного в командировке комментарии второго уровня не видно. В референс мануале есть формула как это пересчитывать, я сейчас с мобильного устройства ее не найду.
@user-je8oz6lh6w
@user-je8oz6lh6w 3 жыл бұрын
@@VladimirMedintsev Спасибо Владимир! Собственно я сам допер. Но, часто так бывает, что решение проблемы приходит в тот момент, когда пытаешься объяснить её кому то другому. Так что - спасибо что вы есть!!!
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Ну, недостатки мобильной жизни и хронических командировок. Раньше ответить не мог, я догадывался что там есть комментарий, а панель управления каналом его не отображала.
@user-su4lv1mh9s
@user-su4lv1mh9s 3 жыл бұрын
Владимир, а приходилось ли Вам использовать встроенный датчик температуры контроллера?
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
Приходилось, а что такого в нем необычного?
@user-su4lv1mh9s
@user-su4lv1mh9s 3 жыл бұрын
@@VladimirMedintsev Да что-то не получается у меня с пересчётом показаний. Имеется ли какая-нибудь библиотека для него? И как производится калибровка, ведь он имеет довольно большую абсолютную погрешность?
@VladimirMedintsev
@VladimirMedintsev 3 жыл бұрын
@@user-su4lv1mh9s нет, никакой библиотеки для этого не требуется. Если у вас не получается прочитать значения с этого датчика, значит вы не разобрались с АЦП. Надо знания подтянуть. Ну а погрешность да, там особой точности нет, о чем и сказано в даташите.
@user-th5qw7ko3q
@user-th5qw7ko3q 4 жыл бұрын
Дядь Вов, тебе и всем, можно стлинком работать хорошим шнуром, полметра, только в экране, в комплекте идет обычно см 15 шинка, 30 см сделал в экране, работает, хочу сейчас 50 см сделать, отпишусь о результатах
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Хорошая идея, спасибо огромное.
@user-th5qw7ko3q
@user-th5qw7ko3q 4 жыл бұрын
@@VladimirMedintsev попробовал, метр работает, просто в экране без земли, кабель типа Мкэш в экране попробовал сейчас, работает
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Еще раз большое спасибо. Меня этот вопрос всегда интересовал.
@user-th5qw7ko3q
@user-th5qw7ko3q 4 жыл бұрын
@@VladimirMedintsev дядь Вов, смотрю твои видео и учусь, только с Атмела на Стм перешел, это тебе спасибо за познавательное видео, делай еще 😉
@Alex-dc2jq
@Alex-dc2jq 3 жыл бұрын
я сделал шнур пол метра без экрана и норм вроде работает)
@awwsum
@awwsum 4 жыл бұрын
в даташите на stm32f0 написано, что макс. частота сэмплирования 1МГц. а в реальной жизни с 1000 замеров в секунду на двух каналах справится как думаете?
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Конечно справится. Куда она денется. Главное пнуть посильнее.
@awwsum
@awwsum 4 жыл бұрын
@@VladimirMedintsev спасибо! будем значит пытать суперконденсатор импульсной зарядкой. видео про токовые мониторы как раз в тему пришлось.
@maddocrusmad464
@maddocrusmad464 4 жыл бұрын
По поводу видеть на экранчке, там в настройках вроде есть font large. Все никак не складывается в голове, установил в настройках 4 ножки на АЦП, и как к каждой обращатся аля analogread на ардуино. Там какая то хитрая структура hadc
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Тут нет analogread это не ардуино.
@maddocrusmad464
@maddocrusmad464 4 жыл бұрын
@@VladimirMedintsev как определить с какого канала из 4х получены значения без инжектирования и dma?
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Каналы перебираются последовательно в том порядке, в котором вы их настраиваете. Для этого есть регистры ADC_SQR1… ADC_SQR3. Считайте сколько раз опросили и узнаете какой сейчас. Если это не устраивает, то инжектируйте.
@user-je8oz6lh6w
@user-je8oz6lh6w 9 ай бұрын
Столкнулся с очередной проблемой. Связана она с тем, что я вынужден на одном устройстве заменить микроконтроллер с STM32L431RCT6 (который убило разницей потенциалов между землями, я об этом писал) на STM32F030R8T6, который оказался под рукой. По ногам всё совпало, программу перетащил. Единственная проблема - у F030 нет инжектированых каналов АЦП. Соответственно - надо переключать каналы самому на лету. У меня их 3 - IN0, IN1, Vref. делаю вот как if (FL_StatusFlags & ADC_Vref_Status) { FL_StatusFlags &=~ ADC_Vref_Status; ADC_Vref += HAL_ADC_GetValue(&hadc); // Считываем код ADC_Vref HAL_ADC_Stop_IT(&hadc); //Останавливаем adsConfig.Channel = ADC_CHANNEL_0; // Устанавливаем канал adsConfig.Rank = ADC_RANK_CHANNEL_NUMBER; adsConfig.SamplingTime = ADC_SAMPLETIME_13CYCLES_5; HAL_ADC_ConfigChannel(&hadc, &adsConfig); //Сонфигурируем АЦП FL_StatusFlags |= ADC_CH0_Status; //Ставим флаг что запустили канал IN0 HAL_ADC_Start_IT(&hadc); } На всех каналах возвращает одно и тоже число. Если начинаю с Vref - то это будет Vref. Если начинаю с IN0 - то это будет IN0 и т.д. Не приходилось такое делать ?
@alexeyjilinsky5926
@alexeyjilinsky5926 5 ай бұрын
вот что говорит первоисточник: It is also mandatory to use the ADC peripheral in DMA mode when we want to perform conversions of multiple channels using scan mode. Это Ваш случай
@user-je8oz6lh6w
@user-je8oz6lh6w 5 ай бұрын
@@alexeyjilinsky5926 Ок. Спасибо
@ivanrusev2270
@ivanrusev2270 2 жыл бұрын
А как мне замедлить значение что бы цифры не менялись быстро.?на дисплее?
@VladimirMedintsev
@VladimirMedintsev 2 жыл бұрын
Фильтрация лучший выход.
@ivanrusev2270
@ivanrusev2270 2 жыл бұрын
@@VladimirMedintsev Программная или аппаратная?.Ну допустим у меня есть датчик тока .Ток меняется мгновенно. На дисплее мы значения не увидим как нужно.А мне для срабатывания нужны мгновенные значения.Если программная .То можете ссылку ?
@stepansml6713
@stepansml6713 Жыл бұрын
А откуда вы узнали что то или иное так. Почему таймер4й а не 7й... Есть какие то первоисточники?
@VladimirMedintsev
@VladimirMedintsev Жыл бұрын
Да, есть. Этот первоисточник называется Reference Manual. Он доступен на сайте производителя микроконтроллеров. Вы можете его абсолютно свободно скачать и изучить.
@ibrag2012
@ibrag2012 4 жыл бұрын
Замислився: не знаю чим регістри в адресному просторі пам'яті відрізняються від DMA (буду розбиратися, дякую за натяк).
@tetramaximum
@tetramaximum 3 жыл бұрын
Изначально DMA означало передачу данных не процом, а отдельным контроллером.
@fly8r358
@fly8r358 4 жыл бұрын
На злобу дня хотел спросить. Недавно обновил CubeIDE до версии 1.1.0. Она потребовала обновить прошивку отладчика до версии 34 и все... Теперь отладчик отказывается работать с CubeIDE. Пишет что не может проверить ST-линк девайс. А утилитой флешера все нормально прошивается. Кто нибудь с этим столкнулся уже? Или я один такой счастливчик? С кейлом еще не пробовал если что.
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Там в настройках отладчика есть 3 варианта устройства. Я далеко от компьютера не подскажу название. Выберите устройство следующее за segger. У меня глючило пока там не пошурудил.
@fly8r358
@fly8r358 4 жыл бұрын
@@VladimirMedintsev Я так понимаю речь об openocd? Он тоже ругается с текстом: UNEXPECTED idcode: 0x2ba01477 . Я очень сильно подозреваю, что индусы впилили проверку на валидность самого отлдачика и без "правильного" серийного номера, оно работать не захочет...
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Т.е. я так понимаю вы до самого конца ролик досмотрели и увидели мое ворчание по поводу обновления...
@fly8r358
@fly8r358 4 жыл бұрын
@@VladimirMedintsev nfo : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD adapter speed: 8000 kHz adapter_nsrst_delay: 100 Info : Listening on port 6666 for tcl connections Info : Listening on port 4444 for telnet connections Info : clock speed 8000 kHz Info : STLINK v2 JTAG v34 API v2 SWIM v7 VID 0x0483 PID 0x3748 Info : using stlink api v2 Info : Target voltage: 3.232783 Info : Unable to match requested speed 8000 kHz, using 4000 kHz Info : Stlink adapter speed set to 4000 kHz Warn : UNEXPECTED idcode: 0x2ba01477 Error: expected 1 of 1: 0x1ba01477
@fly8r358
@fly8r358 4 жыл бұрын
@@VladimirMedintsev нет, я пока еще в процессе просмотра =) Спасибо, кстати, за видео. Познавательно.
@ivanrusev2270
@ivanrusev2270 4 жыл бұрын
А можно писать в регисрах.
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Можно, никто не возражает. Если вам удобнее пишите в регистрах.
@ivanrusev2270
@ivanrusev2270 4 жыл бұрын
@@VladimirMedintsevвы можете ответить на два вопроса? 1 какой компелятор лчше использовать.И почему нельзя обойтись без куба кортекс м3 стм32 получается почти всё начинаю с кортекс м4 прерывание по тамеру -ноль ацп -ноль. в ацп я согласен не все регистры похожы в таймерах один в один только 2 и 5 32 битный cmsis лучше но информации и примеров на кортексе 4 и дальше почти нет а если и есть то не правельная это не авр
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
@@ivanrusev2270 Да, пожалуйста: 1. В принципе для начинающего нет разницы какой конкретно компилятор использовать. У них, разумеется есть отличия, но для начинающих эти отличия не играют никакой роли. Ну а если серьезно, то мне не очень нравится код создаваемый GCC, хотя это придирки. 2. Без куба обойтись можно, но не имеет смысла. С использованием куба повышается производительность труда. Там реально за несколько минут получить готовый проект который нормально собирается и компилируется, а потом его (при необходимости) можно оптимизировать. Если это необходимо. А без использования куба время сборки заготовки для проекта возрастает в разы и риск ошибок также. Т.е. все дело в целесообразности.
@ivanrusev2270
@ivanrusev2270 4 жыл бұрын
@@VladimirMedintsev получается что на cmsis нет смысла тратить время я 4 года програмировал avr учился и всё на смарку тут столько регистров но самое главное что нет примеров на другие кортексы
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
@@ivanrusev2270 Все немного не так как вы себе это нарисовали. Давайте немного по другому. Что все ждут от программиста МК? Разумеется работающего кода и этот код нужен не через год, он нужен завтра. Т.к. продукт надо продавать. Для ускорения разработки созданы специальные инструменты. Один из которых STM32CubeMX он позволяет за считанные минуты создать под-основу будущего проекта, грамотно подключить необходимые библиотеки, настроить периферию микроконтроллера, настроить тактирование и сформировать проект под выбранную вами IDE. Это реально хорошо экономит время и это реально работает. Далее программист должен написать код и "оживить" устройство. При этом он может использовать библиотеку HAL или LL в зависимости от того, какой уровень ему необходим. Этого вполне достаточно чтобы написать хороший и работающий проект. Однако, бывают ситуации, когда требуется опуститься на самый низкий уровень. В этом случае надо помнить, что библиотека CMSIS уже (всегда) подключена к проекту и вы в любой момент можете ее использовать. Т.е. просто взять и начать использовать данные там определения. По поводу "все на смарку" ну если вы так реально считаете, то видимо ничему за 4 года так и не научились. Потому, что главное это четко понимать написанное на языке Си, если это есть, то освоение какой-либо библиотеки это всего-лишь просмотреть ее код, найти интересующие вас функции и их попробовать. По поводу того "нет примеров на другие кортексы" вы наверное издеваетесь? Вместе с STM32CubeMX вам разработчик дает СОТНИ примеров на всю доступную периферию, прочитать, взять куски кода и использовать.
@igor0242
@igor0242 4 жыл бұрын
Почему нельзя в 4К писать видосы, ну или в 2К? Судя по паршивому качество предположу, что видос писался в 720.
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Видос писался в HD качестве. А писать в 2 или 4К у меня нет возможности. Я делаю это на ноутбуке возрастом в 6 лет.
@highvolthome
@highvolthome 4 жыл бұрын
и смысл писать это в 2к? не все же смотрят это на диагонали 1,5м телевизоре... а представляете что получится с этим видео на мобильном телефоне? - Ютюб на столько ухудшит качество что при 720 буквы превратятся в мутные пятнышки
@pr200sd
@pr200sd 4 жыл бұрын
@@highvolthome Да ладно, что там ухудшится, каждый выберет в настройках нужное разрешение, хотя больше чем full hd, для записи с экрана. смысла нет.
@alexroman6246
@alexroman6246 4 жыл бұрын
забейте на куб иде. Зачем он вообще нужен если есть keil.
@VladimirMedintsev
@VladimirMedintsev 4 жыл бұрын
Ну как минимум не нарушать законодательство. Для дома и для семьи можно использовать что угодно, а с определенного уровня приходится задумываться и о лицензиях. Также, иногда это бывает требованием заказчика к коду, чтобы все было лицензионненько. В моей практике было что заказчик (ну правда не Российский) просил подтвердить лицензионную чистоту автокада.
@alexroman6246
@alexroman6246 4 жыл бұрын
@@VladimirMedintsev мне кажется с определенного уровня уже не стоит вопрос в лицензии - если проект "взрослый" и особенно если это военка, то тем более. В целом насчет законодательства согласен. но с другой стороны на этом канале контент воспринимается как образовательный и лично я привык к подаче в кейл, поскольку сам в нем работаю. Но безусловно cube ide понравился черной темой) я вообще ненавижу белые темы, от них глаза устают. В целом мне кажется кейл не стоит тех денег которые за него хотят. Вот если бы в Visual studio прикрутили С с intellisens-ом и возможностью прямо из оболочки так же отлаживать мк-она бы стоила 4к евро, но не кейл.
@maddocrusmad464
@maddocrusmad464 4 жыл бұрын
Уважаемый ты удивишься но попробуй вбить stm32 visual studio. Там есть плагин VisualGDB лицензия дешевая, ителисцайнс о да просто песня с середины команду набираешь и все круто. Но на работе заставляют мучатся в CubeIDE лицензионненько хотять.
@1975nacgul
@1975nacgul 2 ай бұрын
Hal это зло
@VladimirMedintsev
@VladimirMedintsev 2 ай бұрын
Доказать сумеете?
@1975nacgul
@1975nacgul 2 ай бұрын
@@VladimirMedintsev 1. Если какие проблемы ниже уровнях hal, ты подвиснешь изучая все уровни, т.к и не знаешь как это работет и какие регистры и за что отвечает. Это что то типа ардуино.. Я бы такого программиста не взял на работу.
@Andrey_Yartsev
@Andrey_Yartsev 2 ай бұрын
@@1975nacgul прям потеря века :)
БОЛЬШОЙ ПЕТУШОК #shorts
00:21
Паша Осадчий
Рет қаралды 8 МЛН
МАМА И STANDOFF 2 😳 !FAKE GUN! #shorts
00:34
INNA SERG
Рет қаралды 4,7 МЛН
The day of the sea 🌊 🤣❤️ #demariki
00:22
Demariki
Рет қаралды 106 МЛН
STM32 DMA ч.1
26:54
MBDLB
Рет қаралды 1,6 М.
STM32. ADC & DAC
52:30
ФРТК МФТИ
Рет қаралды 6 М.
STM32 #7. PWM - для изменения яркости LEDs
27:40
NR.electronics
Рет қаралды 6 М.
Обзор тактирования STM32
30:57
Алексей Кузнецов
Рет қаралды 3,6 М.
EEPROM AT24Cxx. Подключаем к STM32. CRC32.
27:09
Олег Волков
Рет қаралды 8 М.
После ввода кода - протирайте панель
0:18
Up Your Brains
Рет қаралды 1,1 МЛН
⚡️Супер БЫСТРАЯ Зарядка | Проверка
1:00
Tag her 🤭💞 #miniphone #smartphone #iphone #samsung #fyp
0:11
Pockify™
Рет қаралды 22 МЛН
Simple maintenance. #leddisplay #ledscreen #ledwall #ledmodule #ledinstallation
0:19
LED Screen Factory-EagerLED
Рет қаралды 25 МЛН