background top icon
background center wave icon
background filled rhombus icon
background two lines icon
background stroke rhombus icon

Download "Аналого-цифровое преобразование в контроллерах STM32F1 CubeIDE"

input logo icon
Video tags
|

Video tags

stm32 уроки
stm32
stm32cubeide
stm32 программирование
stm32 проекты
осциллограф
ацп stm32
ацп последовательного приближения
ацп своими руками
осциллограф своими руками
микроконтроллеры
stm32 debug
stm32 debug printf
программирование микроконтроллеров
программирование stm32
cubeide
stm32 cubeide
аналого-цифровой преобразователь
stm32 ацп
stm32f103
stm32f103 adc
stm32f103 прошивка
stm32f411
stm32f401
stm32 осциллограф
Subtitles
|

Subtitles

subtitles menu arrow
  • ruRussian
Download
00:00:00
I started studying such interesting
00:00:02
things as analog-to-digital
00:00:04
converters stm32, looking ahead and
00:00:08
sterilizing these peripherals with an extremely
00:00:10
rich variety of options for setting up
00:00:12
installation modes. To be honest, I wanted to
00:00:15
quickly go over the basics for myself,
00:00:17
but in the course of this, in the elevator, the whole next
00:00:19
work, which I will now tell you about
00:00:22
checks, I assembled a small
00:00:23
test bench and in order to somehow
00:00:25
limit the task, I will tell you about
00:00:27
the use of only one
00:00:29
cbs channel of multi-channel polling, the main
00:00:33
goal I will set is to achieve maximum
00:00:35
digitization speed on this one channel. In
00:00:38
the process of experiments, I even
00:00:40
got some semblance of an
00:00:41
oscilloscope, they want words in a graph it can be
00:00:43
called with a very big stretch; in general, the
00:00:45
purpose of all this was in no way
00:00:48
connected with log graphs; what happened
00:00:50
was rather an accidental practical
00:00:52
application; the first version did not
00:00:54
have the ability to synchronize at all and
00:00:56
simply drew a piece of the input signal at an
00:00:58
arbitrary moment in time,
00:01:00
although it already looked quite
00:01:01
interesting later I made some
00:01:05
pathetic attempt to write a
00:01:07
synchronization system, but more on that a little later, so
00:01:10
I conduct experiments on a black
00:01:12
blue pill scarf and the differences from the
00:01:14
original are blue in most colors
00:01:16
and end in new ones, we took
00:01:17
duplicate power supply pins to the ground and
00:01:20
also slightly redistributed the rest of the
00:01:22
LEDs we made on the pin pibi 12 they are
00:01:25
on pis 13 as in the original and to be
00:01:28
honest, I didn’t immediately understand why it didn’t
00:01:30
blink for me the first time,
00:01:33
as far as I know the same
00:01:35
103 controller is in the oscilloscope up to
00:01:37
138
00:01:39
and there the general program of work
00:01:40
has already been brought to mind as far as this is concerned
00:01:42
perhaps for this type of oscilloscope
00:01:45
in general I was more interested in the general
00:01:47
principles of managing the configuration of
00:01:49
data reception from this periphery, so we know
00:01:52
that an ADC
00:01:53
is a device for converting an
00:01:54
analog signal; a proportional
00:01:56
digital code that transmits information
00:01:58
about some physical parameters,
00:02:01
voltage, temperature, acceleration, and so
00:02:04
on is
00:02:05
typical for all ADCs that they find
00:02:07
some approximation of the true
00:02:09
signal, while the accuracy in
00:02:11
voltage measurement will be related to the bit depth
00:02:13
cp and the accuracy in time with the speed of
00:02:16
its operation after all these vicissitudes,
00:02:18
the signal can be represented in the form of steps,
00:02:21
this can be called a quantum signal
00:02:23
both in amplitude and in time or in
00:02:25
other words discrete or digital in
00:02:28
general, what can be said about how
00:02:31
it works for digital conversion
00:02:32
in system32 controllers, but probably
00:02:35
in a nutshell, the
00:02:37
functioning mechanism is depicted in the block diagram
00:02:39
in the reference manual. Is anything clear from
00:02:42
this diagram? I’m up for debate
00:02:44
so I still decided to go through
00:02:46
trial and error, for this I generated
00:02:48
several test signals from the generator,
00:02:50
threw them into the furnace, my fathers looked at what
00:02:53
came out initially, I didn’t have
00:02:55
a screen, I did everything in a more labor-intensive
00:02:57
but more informative way, in
00:02:59
fact, I’m going to tell you about this
00:03:01
except f1 family of controllers on
00:03:03
aliexpress you can buy these
00:03:05
boards with f 411 and f 401 chips,
00:03:10
they are called black saw and are actually a
00:03:12
logical continuation of the family of
00:03:14
32-bit microcontrollers.
00:03:16
take away they are built on a more
00:03:18
modern core
00:03:19
arm cortex m4 they have higher frequencies
00:03:22
hardware support for floating point
00:03:24
faster cp an expanded set of
00:03:26
commands for digital mathematical
00:03:28
signal processing a number of other useful
00:03:30
goodies but in general the logic of working with chick
00:03:32
except for a couple of new useful features
00:03:34
similar to saw one family, so at
00:03:36
least in this video I wo
00:03:38
n’t focus on them separately.
00:03:41
Another important question that I had to
00:03:43
solve before starting the fcp test
00:03:45
is full-featured in-circuit
00:03:47
debugging. The simplest and most common
00:03:49
programmers, Stalin KV-2, require
00:03:52
some hardware modifications to
00:03:53
be able to receive data. about
00:03:55
variables while working in real
00:03:57
time, by the way, using the link in the description, you
00:04:00
can look at the starting article pstn
00:04:03
if there are those who don’t know
00:04:04
what I’m talking about and what kind of things I’m twisting my hands
00:04:07
and so the revision and Stalin is you have
00:04:10
one connector for two more legs
00:04:11
of the microcontroller
00:04:12
this is from its own and the signals grow while its
00:04:15
own this leg is for output
00:04:17
data from a programmable device in
00:04:19
debug mode and rst can perform a
00:04:21
hardware restart of a programmable
00:04:23
controller specifically in these experiments I
00:04:25
will use only from mine
00:04:27
but it makes sense to remake and Stalinka
00:04:29
immediately and for outputting a reset in general In these
00:04:31
programmers, the Chinese install controllers
00:04:34
on the principle that this is what it will be, in
00:04:35
most cases the circuit will be
00:04:37
similar to the 100 third ones, like mine, the
00:04:39
reworking of these whistles was discussed by
00:04:42
many bloggers telling us we’ll
00:04:44
leave 32, so there’s plenty of information on what and how to
00:04:47
solder, so here’s
00:04:50
how it turned out I'm
00:04:51
using useless 5 volt
00:04:54
leads, they were connected
00:04:56
through via vias so
00:04:58
on one side I isolated 4 and of course
00:05:01
you need to remember to break the track with the
00:05:03
incoming 5 volt voltage and
00:05:05
now let's get back to the real topic of the video
00:05:08
this is analogue digital conversion is
00:05:10
actually the general idea This thing is to
00:05:12
get numbers instead of volts at the input,
00:05:14
etc.
00:05:15
but the implementation of the analog-to-digital
00:05:17
converters themselves may
00:05:19
differ significantly; follow the link in the description to find
00:05:21
an article in which, among other things, the
00:05:23
operating principle of
00:05:25
successive approximation ADCs
00:05:26
used in stm32 is briefly described and, in general, everything
00:05:29
that is unclear here you can try to
00:05:31
clarify from this article for my
00:05:34
tests I use a generator Signals
00:05:36
specifically, the first test I carried out was
00:05:38
on a sawtooth signal, this allows you to
00:05:40
clearly see problems in the data flow
00:05:42
if they arise, it is also convenient to read the
00:05:44
frequency in general, and in general, all this
00:05:47
was placed on the table in the form of an
00:05:48
improvised stand, and so for
00:05:51
programming from the general settings, an
00:05:53
external quartz was used according to the standard
00:05:57
and in the system settings, debug is enabled,
00:05:59
and in order to be able to send data, a
00:06:01
three-wire one with
00:06:03
asynchronous transmission is selected;
00:06:05
the compartment is configured with a one-time
00:06:07
single-channel measurement with soft
00:06:09
start, as I already said, everything that I
00:06:11
describe here, you can look at the article in general
00:06:14
on setting up the debug, Westie has from road in
00:06:16
which everything is explained how and in a
00:06:19
nutshell, the idea is that to
00:06:21
output information from the microcontroller to the computer,
00:06:23
use the
00:06:25
printf command, which is familiar to many,
00:06:27
but in order for everything to work correctly in debug mode,
00:06:29
we need to redefine the
00:06:30
wrike functions,
00:06:32
how to make our own is written
00:06:34
right there, from the same document, we find out what else
00:06:36
needs to be checked so you have the frequency in the
00:06:39
configurations debug, in fact, now we do
00:06:41
everything as the smart guys told us, we add a
00:06:43
library from etc.
00:06:44
and we redefine the right function, I
00:06:47
already wrote it behind the scenes in a slightly
00:06:49
modified form by combining two
00:06:51
pieces of code
00:06:52
is up now the into 1 so that we don’t have to
00:06:55
get up twice, let’s see what next I declared an
00:06:57
array of 256 16-bit variables, this
00:07:01
will be needed to store ccp data
00:07:04
before with an infinite loop it would be nice to
00:07:06
calibrate the ADC, in this case
00:07:08
we calibrate and cp number one actually
00:07:11
exists in the document, all the functions of the
00:07:14
hal library are described, including if you go to the
00:07:16
cp section, then there we will find everything related to
00:07:18
this block,
00:07:24
the only thing is the
00:07:26
main functions, there is also a block of
00:07:28
advanced functions, it is also only here
00:07:29
just below
00:07:34
and here is the
00:07:35
most ingenious code of the main program, everything
00:07:38
that is done here in the first for loop
00:07:40
is launched, the ADC
00:07:41
is expected to be ready, the data is stored
00:07:43
in an array, and so all two hundred and
00:07:46
fifty-six memory cells are filled, the next
00:07:49
for loop transfers all this to the debug
00:07:51
interface using the printer a function
00:07:53
to highlight the beginning and the end of the data I
00:07:56
printed a lot of asterisks, then
00:07:58
the LED just blinks to know
00:08:00
the controller is not frozen, we will also need to
00:08:03
configure the debug parameters
00:08:10
here you can scan it on the
00:08:12
link if it is connected via USB then
00:08:14
its serial number will be indicated, but in general this is not
00:08:16
necessary, you need to include
00:08:18
serial in the viewer and here you can specify the
00:08:20
clock frequency that is the same as in the
00:08:22
clock settings of the microcontroller; in
00:08:24
a specific case, this is 72 megahertz, the
00:08:27
word frequency can also be set,
00:08:30
or you can leave it on auto, then we can
00:08:33
click the bug in the toolbar and
00:08:35
after that we get into the debug mode,
00:08:37
here you can already add variables
00:08:39
that we want to look at
00:08:40
step-by-step debugging
00:08:48
I carry out
00:08:50
di si and I will get mappings of all members of
00:08:52
this array also to
00:09:07
break points, I will do this at the end of the
00:09:10
work from the circuit and after working with the
00:09:12
printf function, we will
00:09:13
then do one more very important
00:09:15
thing that will allow us to receive
00:09:17
data from prints console
00:09:23
on the move
00:09:25
from q and t m data console turn it on and
00:09:29
then go to its settings on the top
00:09:32
left the frequency of our processor will be indicated on the bottom
00:09:33
left turn on part
00:09:36
number zero by checking the box I
00:09:38
already had a check mark here since I turned it on
00:09:41
during checks earlier then you can click
00:09:44
on the start button and we will be at a previously
00:09:47
designated breakpoint, all the
00:09:49
commands above will already be executed, and
00:09:51
sometimes my own has some
00:09:53
problems during transfer and losing some of the
00:09:54
data, for example, it is clear that the transfer
00:09:57
was not completed with asterisks, or maybe
00:09:59
I was unlucky, so in general, restarting the
00:10:01
debug solves this problem
00:10:03
also information We have created a buffer that
00:10:06
has blocks for viewing variables on the right,
00:10:08
if you restart the debug and transfer the
00:10:10
data again, everything has already been transferred
00:10:12
correctly, in general, I take all these
00:10:14
numbers and throw them into excel, where a graph is immediately
00:10:17
built from the graph, we will
00:10:19
determine the sampling frequency knowing the
00:10:21
original frequency of the signal and the number of
00:10:23
points in the period of
00:10:24
points turned out to be exactly 100, while the
00:10:27
period of the signal is 500 microseconds and
00:10:29
we have 5 microseconds or 200 kilohertz, these
00:10:32
are the pies, let me remind you that this is a
00:10:35
single measurement mode, launch on all with the
00:10:38
skoda function, the program is the next mode
00:10:41
that we will look at is the
00:10:43
single-channel continuous
00:10:44
conversion mode, the
00:10:45
feature is that it is not necessary
00:10:47
restart the ADC and when the data is ready, the
00:10:50
next conversion will go immediately,
00:10:52
select the appropriate mode in the
00:10:54
configuration of the pulp and paper mill and rebuild the project
00:11:05
according to the code,
00:11:07
jump out of the loop to the top and in fact you
00:11:11
can start debugging again,
00:11:14
turn everything on
00:11:16
again, run the debug to the breakpoint,
00:11:27
the data
00:11:29
poured into the console from where we
00:11:31
successfully let's copy and paste it
00:11:38
into the
00:11:40
target and see that everything is cool, but not a single
00:11:42
period fits in, it's not very
00:11:44
convenient, so what we'll do is increase the
00:11:46
frequency of our saws from two kilohertz to
00:11:49
four kilohertz, and then at the tempo of a waltz
00:11:51
we'll repeat all the steps again,
00:12:04
now everything is great
00:12:06
apple counting
00:12:07
and period the duration of the period this time is
00:12:10
250 microseconds,
00:12:17
you get
00:12:19
436 kilohertz and this is good news the
00:12:23
following modes will work through a
00:12:26
direct memory access unit or Dima
00:12:28
this thing can transfer data and
00:12:30
pour it directly into our array bypassing
00:12:33
the process and this is a very convenient thing
00:12:35
to remove loads from the main core,
00:12:37
we go to the dm configuration and create a
00:12:40
new channel there, tell it to transfer from the
00:12:43
ADC to memory, and in general, here
00:12:47
we comment on everything we wrote earlier
00:12:49
and write a hal function to start the ADC in the
00:12:51
transmission mode, raise it, and give it
00:12:54
a pointer to our buffer array and
00:12:56
write its length 256, then
00:13:04
everything goes according to the old scheme, we go to
00:13:07
debug, run it, take the numbers and
00:13:09
draw hyssop in Excel,
00:13:17
the problem is that due to the increase in the frequency of selection, they
00:13:19
go to the point so often that for two hundred and
00:13:21
fifty-six pieces there is not a single
00:13:23
period,
00:13:24
but we- then we already know how to deal with this
00:13:25
problem, we go to control the generator and
00:13:28
change the frequency to 8 kilohertz and of course
00:13:30
we repeat everything again,
00:13:40
read
00:13:42
the points and it turns out 107 points
00:13:44
per period, calculate the frequency and it turns out
00:13:46
856 kilohertz and this is a wonderful miracle
00:13:50
since we are already one step away from megahertz, the question is
00:13:52
why not megahertz is decided by the
00:13:54
operating frequency of the ADC
00:13:55
since the core frequency was set to
00:13:57
72 megahertz, the maximum permissible
00:14:00
ADC frequency is 12
00:14:03
megahertz, go to the
00:14:05
clock configuration and change the frequency there to 56
00:14:08
megahertz, while the ADC can now be
00:14:10
set to 14 megahertz and this is what we
00:14:13
need Perry, we collect everything, we go to debug and
00:14:16
again we turn everything on again, we received
00:14:18
the data and what kind of crap is this, we go to
00:14:28
hell, we register the frequency of 56 megahertz and
00:14:31
again now we count the
00:14:45
points, remember that our frequency is 8
00:14:47
kilohertz, they drink accordingly 125
00:14:49
microseconds, in total we have a wonderful miracle 125
00:14:53
divided by 125 it turns out to be exactly 1
00:14:55
megahertz
00:14:58
and what do you think
00:15:00
everyone got a megahertz and we’re happy but there’s
00:15:02
no there is another mode now I’ll show you
00:15:04
this mode of simultaneous operation of two ADCs
00:15:07
with alternation for 7 cycles if this is
00:15:09
applied to the same channel then
00:15:11
it’s doubled conversion speed
00:15:13
test program looks like this you need to
00:15:15
register the launch of the second cp and the next
00:15:17
line use multi mode start
00:15:19
to launch the first leading cp the data
00:15:22
is saved all the same variable, with
00:15:25
one exception the Odessa variable
00:15:27
now needs 32-bit it’s all about the
00:15:29
way the data is saved in
00:15:31
interleaved mode they are stored in 1 32-
00:15:34
bit register and the high half is
00:15:36
cp number 2, the low half is cp number one,
00:15:39
respectively, when we work with
00:15:41
our buffer, this must be taken into account; we
00:15:44
will transfer to the base in two passes,
00:15:46
first shift to the right by 16 bits,
00:15:49
we form the data of hook number 2 and
00:15:51
then transfer it to the next one
00:15:53
we update the senior half of the lines and leave
00:15:56
only the lower two bytes, this is the
00:15:58
given social one died and we transmit,
00:16:01
repeat all two hundred and fifty-six times
00:16:03
and voila, when I saw the data that arrived, I grew up
00:16:06
a little and started moving because the points from
00:16:08
different fathers jumped
00:16:09
and I already thought that this was not we’ll fix it,
00:16:12
but then I remembered that I don’t
00:16:13
calibrate the second cp anywhere,
00:16:15
this must be corrected, otherwise it
00:16:17
will be crooked and then I started digitizing to
00:16:20
increase the frequency of the saw to 20 kilohertz
00:16:23
and everything became beautiful, that is, the channels
00:16:25
work very smoothly and nothing jumps,
00:16:29
here is a graph of speed characteristics by
00:16:31
mode, let's look at more digitization for a more
00:16:35
complex signal, here's a burst
00:16:37
because the loop tells us that this
00:16:39
is called a cardinal sine,
00:16:41
the highest frequency of this signal
00:16:43
is 162 kilohertz, so it
00:16:47
will look scary at 436
00:16:50
kilohertz to the bottom megahertz and it already
00:16:53
looks like the truth if you connect the lines
00:16:55
spline, it will be perfect, and two
00:16:59
megahertz creates a very beautiful
00:17:01
picture and, by the way, very clean, and in
00:17:04
the end I made a pathetic attempt to make something
00:17:06
like an oscilloscope using a
00:17:09
128 by 64 pixel screen, I also made an attempt,
00:17:11
but without
00:17:12
some synchronization, the results of its
00:17:14
work are more random than constant
00:17:17
Well, don’t blame me, just ten lines of
00:17:19
Indian code,
00:17:20
that’s all I tried, really, so like it, oh
00:17:38
well

Description:

Привет! Занялся я тут изучением такой интересной штуки как аналого-цифровые преобразователь в STM32. Интересные сайты: Паяльник https://cxem.net/ ST реализовали эту периферию с крайне богатым разнообраpием вариантов настроек, режимов и установок. Я если честно хотел для себя быстренько пробежаться, но походу этого влип в целую исследовательскую работу, о которой расскажу в этом видео. *************************************** Для прямой помощи каналу, перевод с банковских карт: https://yoomoney.ru/to/4100116712276152 Модули производства TDM Lab: https://vk.link/tdm_lab Группа ВК: https://vk.com/tdm_lab Рекомендованная литература: *************************************** STM32 «Работа с АЦП — независимый режим» https://dzen.ru/a/YA2Efs35qwValMuY STM32 ч.1 «Первые шаги» https://dzen.ru/a/XtI1xJMqhzbvNJHD Статья про АЦП в моей группе ВК, там код программ в более человеческом виде представлен https://vk.com/@tdm_lab-stm32-i-cube-ide-izuchaem-s-nulya-do-mastera-za-rnd-dnei-ch *************************************** Учебный проект из видео: https://drive.google.com/drive/folders/1AHhqWyEpOa4VCzVhGOrud3UN-dkKxO8o?usp=sharing *************************************** Алиэкспресс: ***************STM32*************** STM32F103C8T6 Black http://ali.pub/579d2l STM32F401CCU6 http://ali.pub/56s1yb STM32F411CEU6 http://ali.pub/56s1yb STM32F103C8T6 Blue http://ali.pub/4s0k7j Программатор ST-Link V2 http://ali.pub/56weqg *************************************** 3,5" TFT LCD http://ali.pub/56w5gl 1,8" TFT SPI LCD http://ali.pub/56w4oe 1,3" OLED I2C LCD http://ali.pub/56w8vh ЖК-экран с клавиатурой, 1602 для Arduino Uno http://ali.pub/56wau2 MAX7219 модуль 8-сегментный http://ali.pub/56waa1 TM1637 Модуль http://ali.pub/579dmt Arduino Mega Atmega2560 http://ali.pub/56w5jb Arduino Uno Atmega328p http://ali.pub/56s0bz Arduino Leonardo ATmega32u4 http://ali.pub/56weg5 ESP-12E WeMos D1 WiFi ESP8266 http://ali.pub/56whd5 Arduino Nano ATmega328 http://ali.pub/56weyt Модуль клавиатуры 3 x 4 http://ali.pub/56w9sx TTP229L сенсорная клавиатура http://ali.pub/579pie Фотоэлектрический модуль http://ali.pub/56wh5r ADS1115 АЦП 16 бит http://ali.pub/56s0mv MCP4725 ЦАП 12 бит http://ali.pub/56s2f8 MCP3421 АЦП 18 бит I2C http://ali.pub/56s17o MCP23017 12864 128*64 LCD I2C адаптера http://ali.pub/56w58f PCF8574 адаптер I2C для LCD http://ali.pub/56waqd ACS712 Датчик тока http://ali.pub/56s27u nRF24L01+ беспроводной радиомодуль http://ali.pub/56wgx7 AD9850 DDS генератор http://ali.pub/56s0yq SI5351 генератор сигналов 8KHz-160MHz http://ali.pub/56s3dg KY-008 лазерный модуль для Arduino http://ali.pub/56whg9 Реле электромагнитное 5В http://ali.pub/56wh2u XL6009 DC-DC Вход: 5-32В Выход: 5-55В в http://ali.pub/56w5m8 Повышающе-понижающий DC-DC 5A/80 Вт http://ali.pub/579qeh AC-DC 12V 1.5A 5V 2A http://ali.pub/56w9xs AC-DC 5В/12В/100мА/500мА http://ali.pub/56w9zx

Preparing download options

popular icon
Popular
hd icon
HD video
audio icon
Only sound
total icon
All
* — If the video is playing in a new tab, go to it, then right-click on the video and select "Save video as..."
** — Link intended for online playback in specialized players

Questions about downloading video

mobile menu iconHow can I download "Аналого-цифровое преобразование в контроллерах STM32F1 CubeIDE" video?mobile menu icon

  • http://unidownloader.com/ website is the best way to download a video or a separate audio track if you want to do without installing programs and extensions.

  • The UDL Helper extension is a convenient button that is seamlessly integrated into YouTube, Instagram and OK.ru sites for fast content download.

  • UDL Client program (for Windows) is the most powerful solution that supports more than 900 websites, social networks and video hosting sites, as well as any video quality that is available in the source.

  • UDL Lite is a really convenient way to access a website from your mobile device. With its help, you can easily download videos directly to your smartphone.

mobile menu iconWhich format of "Аналого-цифровое преобразование в контроллерах STM32F1 CubeIDE" video should I choose?mobile menu icon

  • The best quality formats are FullHD (1080p), 2K (1440p), 4K (2160p) and 8K (4320p). The higher the resolution of your screen, the higher the video quality should be. However, there are other factors to consider: download speed, amount of free space, and device performance during playback.

mobile menu iconWhy does my computer freeze when loading a "Аналого-цифровое преобразование в контроллерах STM32F1 CubeIDE" video?mobile menu icon

  • The browser/computer should not freeze completely! If this happens, please report it with a link to the video. Sometimes videos cannot be downloaded directly in a suitable format, so we have added the ability to convert the file to the desired format. In some cases, this process may actively use computer resources.

mobile menu iconHow can I download "Аналого-цифровое преобразование в контроллерах STM32F1 CubeIDE" video to my phone?mobile menu icon

  • You can download a video to your smartphone using the website or the PWA application UDL Lite. It is also possible to send a download link via QR code using the UDL Helper extension.

mobile menu iconHow can I download an audio track (music) to MP3 "Аналого-цифровое преобразование в контроллерах STM32F1 CubeIDE"?mobile menu icon

  • The most convenient way is to use the UDL Client program, which supports converting video to MP3 format. In some cases, MP3 can also be downloaded through the UDL Helper extension.

mobile menu iconHow can I save a frame from a video "Аналого-цифровое преобразование в контроллерах STM32F1 CubeIDE"?mobile menu icon

  • This feature is available in the UDL Helper extension. Make sure that "Show the video snapshot button" is checked in the settings. A camera icon should appear in the lower right corner of the player to the left of the "Settings" icon. When you click on it, the current frame from the video will be saved to your computer in JPEG format.

mobile menu iconWhat's the price of all this stuff?mobile menu icon

  • It costs nothing. Our services are absolutely free for all users. There are no PRO subscriptions, no restrictions on the number or maximum length of downloaded videos.