No video

Getting Started With STM32 & Nucleo Part 4: Working with ADC and DMA - Maker.io

  Рет қаралды 206,111

DigiKey

DigiKey

4 жыл бұрын

As we continue the series with STM32, let’s take a look at how to use the analog-to-digital converter (ADC). At first, we set up a single conversion that samples the voltage from a potentiometer and transmits the raw value over UART. We can then read this information on a serial terminal.
We run into problems, however, when we want to sample analog voltages at a much faster rate. So, we introduce the concept of direct memory access (DMA) to help pipe data from the ADC (or any other peripheral) to memory.
We can also use the DMA controller the other way, too. We start by showing an example of reading a large buffer of test data out over UART via DMA. From there, we build a quick demo of filling a circular buffer with ADC readings with the DMA controller. We’ll simply peek at the buffer contents in the STM32CubeIDE debugger to show how the DMA can act without CPU intervention.
WRITTEN TUTORIAL
If you would like to see the steps performed in this video in written form along with the code, please see the tutorial here: www.digikey.co...
ADDITIONAL RESOURCES
Related Projects www.digikey.co...
Download STM32CubeIDE: www.st.com/en/...
STM32 HAL documentation (click on family from graphic and then Resources tab) : www.st.com/en/...
Using the STM32F0/F1/F3/G0/Lx Series DMA Controller: www.st.com/con...
Maker.io: www.digikey.co...
Digi-Key’s Blog - TheCircuit: www.digikey.co...
Connect with Digi-Key on Facebook: / digikey.electronics
And follow us on Twitter: / digikey

Пікірлер: 118
@christopherwells4768
@christopherwells4768 4 жыл бұрын
"Not practical examples"!? I'm trying to make heads or tails of how to use the ADC to read data from a microphone and then store enough data to process it with DFT. There are very few accessible, useful tutorials for the STM32 family out there. This is MOST practical for me! Thank you, Shawn! Keep it up!
@batosato
@batosato 4 жыл бұрын
Hi Christopher, I am also trying to capture microphone recordings for DFT processing. Could you share your GitHub page so that I could replicate your step? Thank you
@DownhillAllTheWay
@DownhillAllTheWay 4 жыл бұрын
I'm trying to work out how to control a BLDC motor. I find HEAPS of stuff telling me about the capabilities of the chip - the timers and how they are tailored for what I want to do - but nothing to tell me how to implement these capabilities. We could really do with an online course of tutorials. Shawn Hymel has some excellent ones, but I guess it takes him time to learn enough to present a new tutorial, and time to produce it, so they don't come out very often.
@algaroche
@algaroche 3 жыл бұрын
Hi Christopher, hope you read this, I am in the same situation, I need to use the microphone, store data and process it with FFT. I am a bit stuck, could yo share your GitHub? If not, at least I am glad I am not alone in this struggle
@radoslavpantic9497
@radoslavpantic9497 2 жыл бұрын
code
@guumballl
@guumballl 2 жыл бұрын
chk out Nizar Mohideen's channel too for some practical examples. lots of little bite size applications there to try. May not be exactly what you need but they helped me learn alot
@martinlintzgy1361
@martinlintzgy1361 3 жыл бұрын
Excellent. These guides are better than the official series produced by ST. The spoken language is clear and easily followed.
@jgoney
@jgoney 4 жыл бұрын
This series is wonderful, I hope you continue with it!
@naftilos76
@naftilos76 2 жыл бұрын
This was a perfect video. I loved the quick-forward thing while listening to your comments. I loved the comments that you wrote in the code, the fact that you explained well every action that you took within the IDE wizard. It was just brilliant! Thank you soooo much.
@SaverioGirardi
@SaverioGirardi 3 жыл бұрын
Terrific video. One of the clearest explanations of this challenging topic so far. I really hope you will make a comprehensive series on stm32 because this is simply great! Thank you very much for sharing.
@iforce2d
@iforce2d 4 жыл бұрын
First time I ever understood what DMA is :)
@zet0korp
@zet0korp 3 жыл бұрын
Thank god! Straight to the point, fast, no bull videos on ARM micros... I've searched for so long... Thank you for this outstanding work. i'll share.
@misterapocalypse1
@misterapocalypse1 7 ай бұрын
🤯 First day of STM32, this is good stuff! Logic is great. Variables harder to learn, but I like it more than Arduino.
@jthunders
@jthunders 5 ай бұрын
Huge help, thanks Shawn. Nice early 60s retro motif, I should watch "catch me if you can" again. My problem is reading multiple ADCs (four, so for the STM32F446 means reading three and one in scan mode) performing some arithmatic on the values and pushing them back out through the DAC.
@SurvivalSquirrel
@SurvivalSquirrel Жыл бұрын
Awesome! I just fixed my problem, where i had 16bit dma configured, that wrote into a 32bit array, with this video!
@siddharthkothari
@siddharthkothari 4 жыл бұрын
Superb video! Please make more of such videos! Very informative and concise
@dominiqueguelordingala1935
@dominiqueguelordingala1935 2 жыл бұрын
Brilliant. Nobody explains it better than you. Tops!
@roaddragon5015
@roaddragon5015 2 ай бұрын
Thank you for this incredibly great video full of knowledge. It was perfect and very well explained !
@navid923
@navid923 2 жыл бұрын
Your Explanation was appealing to me. Way to go.
@victor_miranda
@victor_miranda 4 жыл бұрын
This series was great. Kudos Shawn!
@robertparenton7470
@robertparenton7470 3 жыл бұрын
Thank You! Keep those videos coming so I can get STM32F411CEU into the autonomous return home Quadcopter Drone.
@floresrodriguezkarlapaola8534
@floresrodriguezkarlapaola8534 6 ай бұрын
Su video me ha salvado, estamos agradecidos
@JK-pr5om
@JK-pr5om Жыл бұрын
actually the goat for this video
@TheJacrespo
@TheJacrespo Жыл бұрын
While DMA is a sounding approach for moving data between the ADC and memory, there are cases where writing optimized ARM assembly code could be faster and more performant. For example, if you need to perform data processing operations on the data coming from the ADC before storing it in memory or if you have specific timing or performance requirements that cannot be met using DMA, writing optimized ARM assembly code it could be feasible and simple, something like this that could be further boosted by added some SIMD-like in Cortex-M7 like: ; ARM assembly for copying bytes from source to destination, similar to x86 rep movsb ; Registers: ; r0: source address (ds:si equivalent) ; r1: destination address (es:di equivalent) ; r2: count of bytes to copy (cx equivalent) copy_loop: ldrb r3, [r0], #1 ; Load byte from source address and post-increment strb r3, [r1], #1 ; Store byte to destination address and post-increment subs r2, r2, #1 ; Decrement the count bne copy_loop ; Branch if count is not zero, i.e., continue the loop
@Just-4-Fun
@Just-4-Fun 4 жыл бұрын
Really a * GREAT * series!!!! Hoping to see more...
@yamaan93
@yamaan93 Жыл бұрын
This is a super great series. I would love to see a video on how to do this with multiple channels though. As an embedded beginner (well, a beginner at anything beyond an arduino), the thing I struggled with the most was figuring out how to read multiple ADC channels. There are a few ways to do this, like manually starting a conversion, changing channels, then doing it again, or using DMA, however many of the settings you don't have to worry about with single conversion become super important (and difficult to understand) when multiple channels are involved so I'd love to see a tutorial explaining how to do this with many channels (I learned the hard way that the settings need to be quite different for 2-3 channels vs 6-8), and what considerations and settings are involved.
@Huapua
@Huapua Жыл бұрын
Can you provide a mini guide on how to read from two channels (differential measurement) and DMA?
@spacewolfjr
@spacewolfjr 4 жыл бұрын
Yay, he's back!
@fenderrexfender
@fenderrexfender 4 жыл бұрын
months ago I could not find a video like this.
@DoctorHouse999
@DoctorHouse999 3 жыл бұрын
wth this went from difficulty 2 to 99999999 too fast
@TheLouKou
@TheLouKou 4 жыл бұрын
Nice throwing that "happy hacking" reference in there :P
@ernogilissen4864
@ernogilissen4864 3 жыл бұрын
I consider this the best video series to start with STM32 Cube and the presentation is very efficient. A disadvantage of STM32 is documentation (like so many other companies ST suffers from complexity build up along the way). For instance: The channels used in Timers and ADC are linked to some I/O pin. Nowhere I can find the correlation channel - I/O pin except by assigning the channel in Cube and see what I/O pin gets affected. That's not optimum to determine best PCB layout. In DM0038 (about STM32L152), the DMA register set doesn't list the 2nd addressing register for half transfers as claimed elsewhere in the same document. Some examples are even potentially dangerous, since one should start by disabling DMA and test if the enable bit reads zero before starting to modify DMA registers. The documentation also has examples using DMA registers that match the DMA description related to STM32F746, but not the DMA in STM32L152 (that chip has several DMA configurations possible and I fear some mixups happened there). If HAL doesn't support what one needs, such errors in data sheet / reference manual are really killing. According to some documentation, STM32L412KB should be able to measure duty cycle & period or generate PWM signals both DMA based. I measure DC using input capture on both edges by DMA, but didn't find if (a) measuring DC & period on the same pin is possible and (b) how to do that with HAL (even no idea if really possible both by device or HAL)? So I hope Shawn doesn't stop with this series yet but adds more.
@fernandocaballero5102
@fernandocaballero5102 4 жыл бұрын
Nice I didnt know about ping-pong buffer till now ty bro
@petercheung63
@petercheung63 Жыл бұрын
powerful video, thanks
@kepszlok
@kepszlok 2 жыл бұрын
Great tutorial. But the current STM32CubeIde (v1.7.0) puts MX_DMA_Init(); below of MX_ADC_Init(); and that's not working in that order. After any changes in the ioc file, I have to put back the MX_DMA_Init(); line in front of the MX_ADC_Init(); line to keep the AD working. This took some hours to figure out when none of these DMA tutorials worked on my board. Than I find a forum post about this issue... It was a mirracle.
@maxxiang8746
@maxxiang8746 2 жыл бұрын
omg thank you lmao edit: you can repeat the DMA init line under "USER CODE BEGIN SysInit", and it will not be removed
@mic03311
@mic03311 2 жыл бұрын
Thanks, took me also hours to figure out - I am wondering why the order get changed ...
@taktak5077
@taktak5077 2 жыл бұрын
Thank you it's work great.
@ShenghongZhang
@ShenghongZhang 4 жыл бұрын
Great series. Thank you!
@hamidrajabi8775
@hamidrajabi8775 2 жыл бұрын
Simply Amazing! thanks.
@DrKnow65
@DrKnow65 3 жыл бұрын
@8:07 Harrrrrhaaarrrrrhaaaarrr put a smile on my gullet :)
@user-ww2lc1yo9c
@user-ww2lc1yo9c Жыл бұрын
Everyone, Please pause the video at 14:48.
@adhityabidarkal6707
@adhityabidarkal6707 3 жыл бұрын
king shit
@NuWhite
@NuWhite 3 ай бұрын
Thank you!
@paulg.3067
@paulg.3067 4 жыл бұрын
quality content ! thanks :)
@sudheerkumar5966
@sudheerkumar5966 3 жыл бұрын
Very good but Plz continue with it.
@mjolnirforsworn
@mjolnirforsworn Жыл бұрын
Thank you. I've been struggling to understand RTOS for MCUs.
@tuxcode7344
@tuxcode7344 3 жыл бұрын
Hmm I must have done something wrong on the first attempt. I tried adding the DMA UART communication to the first ADC example directly without making a new project first.. But it looks like I wasn't receiving data on my laptop using cat /dev/ttyACM0 even though the LED is blinking and setting a breakpoint on the callback function also works. The HAL_DMA_Start_IT function returns an OK status. At first I thought it might be due to the difference in chip, because I'm using the Nucleo-F446RE, which has some differences in the DMA setup. But anyway when I just tried to do it again using a clean project, sending data over USART2_TX using DMA worked just fine.. So far the only code difference I've found is a missing at the end of my sample text but I have a hard time imagining that to be the cause. And it's not just a hickup or an anomaly or something because when I switch back, it still doesn't work. Anyway too late now. I'll look at it again later.. Thanks for showing these great examples! I like the pace as well: challenging, no need to skip ahead all the time and with the right amount of detail and explanation of the basics. I'm hoping there's much more STM32 content coming. Perhaps a demo using some DSP instructions could be interesting. And of course I don't suggest that at all because that's what interests me the most ;)
@seankayll9017
@seankayll9017 6 ай бұрын
3:39 To an android that's an eternity.
@abhilashpatel1809
@abhilashpatel1809 Жыл бұрын
that was intense
@wowowowdog
@wowowowdog 2 жыл бұрын
Thanks. This is very pratical example to me Lol.
@Thangheo12233
@Thangheo12233 Жыл бұрын
Thank you i love digikey
@kingtoad7240
@kingtoad7240 Жыл бұрын
Thank you so much
@Bianchi77
@Bianchi77 2 жыл бұрын
Nice video, keep it up, thank you :)
@MohamadSayadiFars
@MohamadSayadiFars 3 ай бұрын
I like your tutorials. Do you have multichannel ADC in DMA mode?
@eduardojreis
@eduardojreis 7 ай бұрын
8:09 - Enabling the Interrupt. Why was it disabled to start with? Is that really necessary? What would be "other purposes" usages of USART? 9:29 - This is where the interrupt is disabled. I still don't understand the reason for doing this.
@SandhanSarma
@SandhanSarma 4 жыл бұрын
Hi Shwawn. Can you also do a few videos on DSP using stm32f4? With stm32cube IDE, I am not able to use the CMSIS DSP library.
@ShawnHymel
@ShawnHymel 4 жыл бұрын
Interesting...I would have thought that all of the CMSIS libraries would have been accessible but perhaps not integrated with the Cube software. DSP stuff isn't on my list of things to show, but good to know there's interest! I'll have to keep that in mind :)
@radhey04ec
@radhey04ec 3 жыл бұрын
@@ShawnHymel When DMA take control of peripheral BUS then how Microcontroller will communicate with other peripheral ? Which type of other thing it do?? Many articles says that at that time CPU BUS is in tri-state Buffer.... what it mean?? If CPU cant do more task then what is meaning of DMA????
@ShawnHymel
@ShawnHymel 3 жыл бұрын
@@radhey04ec if a particular bus is being used by DMA, then the CPU should not be able to access to it. However, the CPU can do other things, like crunch numbers and read/write to and from other peripherals not on that same bus.
@radhey04ec
@radhey04ec 3 жыл бұрын
@@ShawnHymel Thanks dear for quick reply, Is that mean there are different bus for each peripheral ?? Block flow represents there is common BUS known as APB and all peripheral use same that BUS to push or pull data from CPU. Some How can we check this procedure during debugging time??? Because if program is step by step execution of instructions then if suppose CPU want to use some peripheral which is connected with APB, and DMA already occupied that BUS then which type of process can CPU do???
@ShawnHymel
@ShawnHymel 3 жыл бұрын
@@radhey04ec You'll have to look at the datasheet for your particular MCU. The STM32L476RG has two different buses, each with its own set of connected peripherals (APB1 and APB2). I have not explored this yet, but apparently there's a FIFO mode for DMA that will let you queue up bus requests for when the CPU is not using that bus (here is a good discussion on it: stackoverflow.com/questions/24051720/stm32-dmaconcurrent-stream-fifo-burst-mode-double-buffer). As for step-through debugging, it's not really possible (at least, I have not found a way yet). Whenever you pause the CPU with the debugger, DMA will continue running in the background. This makes it really hard to debug when you're trying to see what DMA has put in memory (or has put out on a peripheral).
@TheFloef
@TheFloef 3 жыл бұрын
Could you do a video about the analog watchdog feature of the ADC ?
@harryhan2974
@harryhan2974 4 жыл бұрын
I'd love to see a tutorial about receiving data to a nuclro board and sending them to an arduino to save them in an sd card. Greetings from Greece, thanks for the help
@softelectronicsolutions5327
@softelectronicsolutions5327 3 ай бұрын
can you tell us which digital scope you are using, with partnumber it would be great.
@eduardojreis
@eduardojreis 6 ай бұрын
3:39 - I have a UTD2101CEX; how do I connect it to the computer and use it with waveforms like you do in this part? Is that straightforward?
@DownhillAllTheWay
@DownhillAllTheWay 4 жыл бұрын
Great series, Shawn, so this isn't a criticism, but a plea for help. At 3:21, I can't see how you opened a serial monitor. I slowed the video to 0.25 speed, but was unable to see where your mouse went to open the serial console. Then I captured that section of video with OBS Studio, then edited it with Movie Maker so I could single-step the video frame by frame, but I still can't see how you did it. I've tried googling for it and searching the ST website, but I can't figure it out - and so far, I can't open a serial console. Somebody asked 8 months ago, and the answer was that there isn't one. I'm using STM32CubeIDE Version: 1.3.1 Build: 6291_20200406_0752 (UTC) (C) 2019
@triopamungkas9749
@triopamungkas9749 4 жыл бұрын
using putty, fill host with COM Port
@faaizsiddiqui7906
@faaizsiddiqui7906 4 жыл бұрын
I was also confused at this point. I wish STM32CUBEIDE had some sort of display console, but i don't think they do. You need to get ST-Link Drivers and PuTTY, or some sort of serial/COM console. Configure them to communicate and they should display the message. For me so far, is it not so easy. This link is helping me get along: stackoverflow.com/questions/52385728/using-putty-to-print-from-stm32. Good Luck!
@DownhillAllTheWay
@DownhillAllTheWay 4 жыл бұрын
@@faaizsiddiqui7906 Thanks for that, Faaiz. I'll look into it tomorrow. Because I was making such slow progress, I put it to one side, and haven't been working on it much, but with your comment, I'll have another go and at least try to get through this video. Who knows - I may even complete my project one day.
@ChunZhang-df7gz
@ChunZhang-df7gz Жыл бұрын
Great videos, thank you! I got UART example working by swapping MX_DMA_Init and MX_USART3_UART_Init. But the ADC one is still not. I think the callback functions in ADC example are not registered correctly.
@davidwelch489
@davidwelch489 Жыл бұрын
well done you
@ultrasonicgamer
@ultrasonicgamer 3 жыл бұрын
Kindly make a program for ADC to DMA2 and DMA1 to DMA2 and DMA2 to USART in single program. I stuck, Thank you
@testinventory9072
@testinventory9072 Жыл бұрын
What is the maximum frequency at which the signal is read? For example, I need to measure an analog value 1000 times per second, so what happens?
@sinha....
@sinha.... 11 ай бұрын
I am getting "target is not responding, retrying " i am using stm32cubeide and my board is stm32l152c
@radhey04ec
@radhey04ec 3 жыл бұрын
When DMA take control of peripheral BUS then how Microcontroller will communicate with other peripheral ? Which type of other thing it do?? Many articles says that at that time CPU BUS is in tri-state Buffer.... what it mean?? If CPU cant do more task then what is meaning of DMA????
@davidmaye3580
@davidmaye3580 3 жыл бұрын
I can't seem to get the Second Example working on my STM32H755 Nucleo. I know there are some differences but I am unsure of what to change
@user-ww2lc1yo9c
@user-ww2lc1yo9c Жыл бұрын
Do 8 and 16 bit PICs have DMA as well? I have never used DMA so far.
@MrSmokey247
@MrSmokey247 4 жыл бұрын
Hello! Thanks for the series. I have a question. I want to use a DMA in normal mode to store to a buffer, and then switch to use the same DMA in circular mode to fill a second buffer. What's the best way to go about this? i tried changing the "Init.mode" to DMA_CIRCULAR after I've filled the first buffer however that does not seem to switch it to circular mode..
@SciFiFactory
@SciFiFactory 4 жыл бұрын
Damn! A lot of that went straight over my head! At least now I know what the purpose of a DMA is. But I feel that I have a major lack of understanding of how the basic processes in a MCU work. Like, I don't even know what a callback is or how to effectively make sense of the documentation. Can someone point me to good resources that explain these basic processes to beginners? I mean, not how you do an analog read on an arduino, but stuff like using the DMA-controller. But this video here is almost too detailed for me. While I understand some things, 70% are lost because I don't know the other concepts. I think I need an overview about all these concepts and then I can look at implementations like this. Any advice where I should start?
@fahadmirza8
@fahadmirza8 4 жыл бұрын
A Callback function isn't specifically for a microcontroller, but a term used in software in general. A callback function is like any other function that is passed as an argument to other function; that other function is then "call back" that function somewhere in his code. In this video's context, the DMA HAL allows you to pass any function (that you are going to write, and you can write whatever you want in that function) that the DMA HAL will call after the transfer is complete. There are four events to choose from, Shawn choose "Transfer Complete", so your callback function will be called after the transfer is complete. Just google callback function.
@joeltshiela4605
@joeltshiela4605 10 ай бұрын
👍
@erkingundogdu7102
@erkingundogdu7102 2 жыл бұрын
when ı use 2 potentiometers how do i code which pin of adc 1 channel to stm32
@LL-ue3ek
@LL-ue3ek Жыл бұрын
nice video but it's somehow accelerated and you need to stop it hundreds of times to get the details. Strongly suggest that you can slow down a bit and allow students to have time to absorb and understand the subject. For someone new to the cubeMX environment it's necessary to slow down the pace.
@jonathansloan4205
@jonathansloan4205 Жыл бұрын
What scope probe were you using?
@bennguyen1313
@bennguyen1313 4 жыл бұрын
I have the ADC set to continuous conversion mode, and added a DMA Channel (circular mode) for it, and execute HAL_ADC_Start_DMA (&hadc, pBuffer, Len); however, I don't ever get the ADC_DMAHalfConvCplt or ADC_DMAConvCplt callbacks. What could be the problem? Could it be the ADC 'Conversion Trigger' setting in the ADC Mode and Configuration window?
@moebazzi8412
@moebazzi8412 4 жыл бұрын
hey im dealing with the same problem. Did u find a fix? Im on the STM32H743ZI nucleo board. m actually not even getting any values stored in my adc_buf array in the first place. Thanks
@pushpendrakushwah8691
@pushpendrakushwah8691 2 жыл бұрын
Sir, why data transfer via dma is faster than data transfer via cpu as in both the case data transfer through intermidiate medium.
@floweast
@floweast 2 жыл бұрын
the DMA does the data transfer, so the CPU can do something ELSE.
@vuluuquang9384
@vuluuquang9384 3 жыл бұрын
Dear sir! On STM32F1 there is GPIO_Analog pin, can I use this pin as ADC pin?
@batosato
@batosato 4 жыл бұрын
Could we have an example where you capture audio data into STM32? Thanks
@Vicover90
@Vicover90 2 жыл бұрын
I Know it several years after this video but i tested your solution to do the msg dma (Memory to UART) with an NucleoL053R8 and it compile well and debug well but i receive nothing in the com port on my computer and the led is not blinking. I don't know where the problem is. The code is running and the HAL_DMA_START_IT func get no problem but it seems that the HAL_DMA_RegisterCallBack function is not used, I don't really know when exactly this function is supposed to be call because it is not in the while loop. Is copying the msg to TDR register is the only thing to do for send a message in uart ? Is anyone read this message a little help will be very appreciate. Thank you for the video btw
@billblakely9092
@billblakely9092 2 жыл бұрын
Hi, I was also having this problem. I had to make two changes to get it running: Change the destination register to huart2.Instance->DR (instead of TDR) Move the auto generated MX_DMA_Init(); above the MX_USART2_UART_Init(); so that the DMA initializes first. Hope this helps!
@Vicover90
@Vicover90 2 жыл бұрын
​@@billblakely9092 Hi! It'm seems that move the auto generated MX_DMA_Init() is working. TDR is the right Register, I just move the DMA Init and it's working well. Thanks!
@ashwin372
@ashwin372 3 жыл бұрын
Great tutorial. But is it possible to not use HAL and do this. Most of the people hate hal library dk why
@andrewmosqueda
@andrewmosqueda 2 жыл бұрын
Great video but Mine was not working until I swap the line with the MX_DMA_Init(); and MX_USART2_UART_Init();
@RiccardoFranceschetto
@RiccardoFranceschetto 3 жыл бұрын
how do you open serial monitor?
@marshallstone731
@marshallstone731 3 жыл бұрын
i think you use something like putty but i can’t seem to get it to connect
@RiccardoFranceschetto
@RiccardoFranceschetto 3 жыл бұрын
@@marshallstone731 yes use putty, under the UART config, you can read the baud rate and settings, put the same on putty, and in device manager find the COM port that st-link is working on
@babotvoj
@babotvoj 4 жыл бұрын
when I set the potentiometer in the middle and measure the voltage, I get the 1,6v. After I connect the ADC the voltage drops to 0,1V. Do you know what the problem might be?
@SemionCobileanschii
@SemionCobileanschii 4 жыл бұрын
maybe the current from your potentiometer isn't enough for the ADC, i.e. its resistance is too high.
@babotvoj
@babotvoj 4 жыл бұрын
@@SemionCobileanschii i connected it to different ADC pin and it suddenly worked with the same setup
@SemionCobileanschii
@SemionCobileanschii 4 жыл бұрын
@@babotvoj maybe your "original" ADC pin is internally damaged, or has some other stuff hooked on the same physical pin. I may be wrong, but I know that the voltage drops only if something drains more current than the source can give.
@GuiMVII
@GuiMVII 4 жыл бұрын
A question not related to the video. I want to add an TFT-Display library, but when I include it on main.c it doesn't find the directory... Can someone help me ?
@GuiMVII
@GuiMVII 4 жыл бұрын
It actually worked when I declared the full path #include "C:\mBed Development\429I-TFT-Display\Drivers\BSP\STM32F429I-Discovery\stm32f429i_discovery_lcd.h" But that way will only work if it's compiled from that specific folder, and I don't want that...
@digikey
@digikey 4 жыл бұрын
Hello! If you’d like you could try posting this question on our TechForum. We have a team of technicians and engineers that monitor that page and I’m confident one of them can help you find the answer.
@manojm7814
@manojm7814 3 жыл бұрын
How to use multiple ADC's
@afiqdanialo
@afiqdanialo Жыл бұрын
may i know the value 4096 of buffer size is in bit or byte?
@Apocobat
@Apocobat Жыл бұрын
4096 decimal, its 2^12 so a 12 bit value
@sultan7679
@sultan7679 4 жыл бұрын
Shawn❤️
@shukeshreddy3233
@shukeshreddy3233 Жыл бұрын
Hi., I have completed demo, how to print the registry values stored in dma to uart port. I want 50kSPS from 6 ports, any coding help or guidance??? SHukesh BTech FInal Year ., In need of help to complete final year project. Thanks in advance.
@mostlymessingabout
@mostlymessingabout 3 жыл бұрын
Is this code the same as used in Keil uVision?
@MathewPanicker1010
@MathewPanicker1010 2 жыл бұрын
Same
@omraniachref9062
@omraniachref9062 3 жыл бұрын
how to open the serial monitor plz
@mostlymessingabout
@mostlymessingabout 3 жыл бұрын
PuTTY
@russmonsanto5359
@russmonsanto5359 3 жыл бұрын
15256 Hz DAC Resolution X 1000
@eamonhannon1103
@eamonhannon1103 3 жыл бұрын
You skipped a step . You should have added measurement using interrupt and timer triggered measurement before going to DMA
@napischu
@napischu 4 жыл бұрын
Used space. All content is invalid.
Gli occhiali da sole non mi hanno coperto! 😎
00:13
Senza Limiti
Рет қаралды 13 МЛН
Joker can't swim!#joker #shorts
00:46
Untitled Joker
Рет қаралды 38 МЛН
а ты любишь париться?
00:41
KATYA KLON LIFE
Рет қаралды 2,5 МЛН
#Modbus 1. STM32 as Master || Read Holding and Input Registers
25:07
ControllersTech
Рет қаралды 38 М.
stm32 timed multichannel ADC DMA conversions on STM32F030k6
12:06
Top Fifteen Mistakes People Make When Designing Prototype PCBs
12:26
Cosplay Light and Sound
Рет қаралды 144 М.
Can You Drive On Wood Wheels?
19:42
Waterjet Channel
Рет қаралды 59 М.
6 Horribly Common PCB Design Mistakes
10:40
Predictable Designs
Рет қаралды 189 М.
Cracking Enigma in 2021 - Computerphile
21:20
Computerphile
Рет қаралды 2,4 МЛН
Gli occhiali da sole non mi hanno coperto! 😎
00:13
Senza Limiti
Рет қаралды 13 МЛН