No video

STM32 DMA PT 1

  Рет қаралды 39,156

Eddie Amaya

Eddie Amaya

Күн бұрын

visit: www.edwinfairc...
more videos coming soon 2024

Пікірлер: 50
@uber-jaianada
@uber-jaianada 5 жыл бұрын
Dude! your video's are better than the official STmicro channel.
@brushhead
@brushhead 4 жыл бұрын
Quite agree!
@johnbaker3745
@johnbaker3745 6 ай бұрын
absolutly!
@ilyas.7209
@ilyas.7209 3 жыл бұрын
An overview of the registers is very helpful. It gives understanding of what exactly the stuff does and what parameters it has. Finally some clarity without "do it like this and this and it just somehow works", something many other sources have problems with by assuming some things are "obvious" or by "leave these settings at default" without any explanation of what they are or why. Maybe those things are simple and obvious indeed, but only if you ALREADY know them. Your insight closes the gap there. Thanks a lot!
@hamiltonhorta5441
@hamiltonhorta5441 4 жыл бұрын
Great video Eddie, you have a knack for making simple, things that seem very complicated at first glance. I have enjoyed each and every one of your videos.
@EdwinFairchild
@EdwinFairchild 4 жыл бұрын
I appreciate the comment!
@ronfratom7249
@ronfratom7249 4 жыл бұрын
I like you way of explaining things to bit and pieces that too taking a working project like which bit set what flag ...just loved it
@otenyop
@otenyop 3 жыл бұрын
Thank you for your Wonderfull and detail videos on STM32s!!! I really appreciate it.
@rishabhpathak1367
@rishabhpathak1367 4 жыл бұрын
MAN!...I watched your video for first time...and you got a new subscriber 💯♥️
@miguellorenzo3726
@miguellorenzo3726 4 жыл бұрын
Great, clear explanation. Amazing work!
@XpressCrosSs
@XpressCrosSs 4 жыл бұрын
i think it is great when sampling a data via adc and performing some dsp(fft,filtering etc.) on it. In this way, cpu clock is not wasted by moving data from peripheral to mem location.
@AdiWasturaka
@AdiWasturaka 2 жыл бұрын
holy shit amazing explanation subscribed
@masoudshahbazi9691
@masoudshahbazi9691 4 жыл бұрын
Best tutorial on arm i ever see✌
@Heikki70
@Heikki70 3 жыл бұрын
Thanks for the very clear and easy tutorial.
@davdavsin
@davdavsin 4 жыл бұрын
Thanks for another great video
@severinmundl5464
@severinmundl5464 4 жыл бұрын
Amaizing explanation! Tnaks alot!!!!
@dominogolian7858
@dominogolian7858 4 жыл бұрын
Man, pls continue with those videos... milion times better than some of the "idndians guys" whitch using cubeMX for blink led... good work man, im learn a lot from u
@rafalkowalczyk5027
@rafalkowalczyk5027 3 жыл бұрын
this crew was good
@vinothkannanr2804
@vinothkannanr2804 4 жыл бұрын
love the way u teach
@truongbom4384
@truongbom4384 3 жыл бұрын
it's great, so clear. thanks so much!!!
@PeetHobby
@PeetHobby Жыл бұрын
21:36 The external memory control is a peripheral that needs to be increased, I think.
@berkcan2439
@berkcan2439 4 жыл бұрын
U should never say that in public because sounds like nerd i am soo agree with you :D Btw i am learning stm32 from your videos thanks for all
@federicocanete2905
@federicocanete2905 4 жыл бұрын
Thanks man! You're awesome!
@Scherbakov
@Scherbakov 2 жыл бұрын
Cool! Thank you!
@fw3mbedded598
@fw3mbedded598 Жыл бұрын
Thank you
@thomzz3449
@thomzz3449 5 жыл бұрын
Nice video. I really needed this explanation about the general working of the DMA. Coming from Arduino with little knowledge about STM32 the DMA is completely new to me. Currenty I'm trying to output some audio from an STM32F4 discovery and in a tutorial the DMA was used. I want to make a synthesizer and it seems inefficient to calculate and write to the I2S bus for every audio sample. I'm going to try to pre calculate x samples (not to many because it has to be real time) and put them in the DMA buffer and let it handle the rest. Would this be the way to go about it?
@EdwinFairchild
@EdwinFairchild 5 жыл бұрын
To tell you the truth I have never done any audio related work. But if you can offload as much to hardware it's always faster then doing it in software
@thomzz3449
@thomzz3449 5 жыл бұрын
@@EdwinFairchild Ok, thanks for the quick response
@sabrineguiga218
@sabrineguiga218 4 жыл бұрын
hello, can you please telle me how can we use CAN bus and DMA?? and if it's possible or not!! thank u.
@karankolhe3370
@karankolhe3370 4 жыл бұрын
STM32 has dedicated CAN controller so there's no need for DMA in CAN hence they have not given that option
@dominogolian7858
@dominogolian7858 4 жыл бұрын
thx for those videos! :)
@therealspixycat
@therealspixycat 3 жыл бұрын
It also considers flow control when writing to a low speed device?
@zuro8
@zuro8 3 жыл бұрын
Thanks for great video! Much better than STM ;) However, there is something that puzzles me. I want to read data from my mems board using DMA and i2c. There are multiple memory addresses for each reading/data I want to extract. Does it mean that for each memory address I have to use separate DMA channel? According to your video I am supposed to use one DMA channel per device. How is that supposed to work if I want to transfer multiple data from different memory addresses? Anyway, thanks for your great job. Looking forward to watch more :)
@EdwinFairchild
@EdwinFairchild 3 жыл бұрын
Your i2c receives data on only one register.... Dma is for your i2c not for mem device internal memory...dma has no connection to that . Your device send data to i2c and you read it from i2c register... That's it. You can tell your i2c to read from any address of your devices that is fine but still the device will send the data to your i2c and you can only find that in one register. Don't confuse i2c registers and your men's registers...the mcu has no connection to them.
@EdwinFairchild
@EdwinFairchild 3 жыл бұрын
If you have trouble understanding let me know I can better explain it. That is if I understood your question correct
@zuro8
@zuro8 3 жыл бұрын
Thanks for your fast replay. Not everything is clear enough for me so maybe I will describe what I would like to achive. I have mems device conected to i2c bus in slave mode. Device (x-nucleo-iks01a3) is visible and ready to work. Data I want to read is stored in few device memory registers. I am trying to use HAL DMA function HAL_I2C_Mem_Read_DMA which takes as arguments i2c device address and device memory register. Now, lets assume, I have 6 memory registers I want to read from. According to what you said, I have one DMA channel dedicated to whole i2c bus? Is it still this same in case of connecting few devices to i2c bus? Lets assume my DMA is working in normal mode. If I am missing any details let me know. Thanks in advance! :)
@EdwinFairchild
@EdwinFairchild 3 жыл бұрын
​@@zuro8 I have little knowledge about HAL functions and how they work. But you can use DMA in memory increment mode and call a function to read a certain register in your mems. The dma will transfer the data to the first index of your desired array. Then upon a DMA transfer complete interrupt you can call your function to read the next registers and since DMA is in memory increment mode it will increment the array you set as the memory to store incoming data.... it sounds like a lot but its really not, its just hard to explain in text. However you do have to keep track of which device is currently the active slave so you know what device that data belongs to. You can also just change the array variable you configure in your DMA when talking to a new device so that way each device will have their own data in a separate variable in your code...again i know im explaining it kind of weird
@zuro8
@zuro8 3 жыл бұрын
@@EdwinFairchild THanks for your replay. I think I will test it during weekend. If I find a good solution then I will let you know :)
@TheChrisey
@TheChrisey 4 жыл бұрын
Would the Peripheral Increment Mode be useful for multiplexing ADC using DMA?
@EdwinFairchild
@EdwinFairchild 4 жыл бұрын
dam i was so fat here
@carlosgalvez7464
@carlosgalvez7464 4 жыл бұрын
Thanks for the great videos, really easy to follow! Could you do a video on SPI + DMA? In SPI you are transmitting and receiving at the same time, so I guess you need to setup 2 DMA streams for RX and TX. However, how are these streams synchronized? How do you make sure there are no race conditions? One stream writes into SPI DR and the other one reads from it.
@EdwinFairchild
@EdwinFairchild 4 жыл бұрын
It sounds more complicated than it really is. If you understand how SPI works and the fact that it serially shifts in the incoming byte as you transmit your own byte , basically when you send bit 0 of your data, then your data shifted to the right and the empty bit 7 gets filled with your new incoming bit and so on and so, the exact moment you are don't transmitting you're entire received byte is already there to read, the stm32 F1 is old but in newer stm32 micros, there is a register with the number of bytes you want to send and that generated an interrupt if you want or not, but either way it's really not as complex as you make it sound with race conditions and stuff. I might make a video on that. I'm just really lazy when it comes to it if I'm honest. I rather write about it on my blog so keep an eye on that.
@carlosgalvez7464
@carlosgalvez7464 4 жыл бұрын
@@EdwinFairchild Wow that was fast, thanks a lot! :) I'll give it a try and see what I run into, maybe I'm overthinking about non-existing issues. Totally understand the lazyness to make videos, a blog post about it would be great as well! Will definitely keep an eye on it!
@dajianghe
@dajianghe Жыл бұрын
what is the link to your blog?
@EdwinFairchild
@EdwinFairchild Жыл бұрын
edwinfairchild.com
@anneallison6402
@anneallison6402 5 жыл бұрын
I got a question, can you use dma on a function?
@EdwinFairchild
@EdwinFairchild 4 жыл бұрын
sorry i jusw this question but i dont know what you mean by use DMA on a function
STM32 DMA PT 2
11:50
Eddie Amaya
Рет қаралды 14 М.
Introduction to Direct Memory Access (DMA)
20:33
Intermation
Рет қаралды 43 М.
Running With Bigger And Bigger Feastables
00:17
MrBeast
Рет қаралды 85 МЛН
Comfortable 🤣 #comedy #funny
00:34
Micky Makeover
Рет қаралды 16 МЛН
STM32 ADC Complete Guidance: Polling, Interrupt, and DMA Modes.
17:55
Steppe School
Рет қаралды 1,5 М.
Top Fifteen Mistakes People Make When Designing Prototype PCBs
12:26
Cosplay Light and Sound
Рет қаралды 144 М.
Extracting Firmware from Embedded Devices (SPI NOR Flash) ⚡
18:41
Flashback Team
Рет қаралды 566 М.
Using I2C for any device on STM32 with HAL | VIDEO 26
37:51
Matej Blagšič
Рет қаралды 76 М.
The IBM 1401 compiles and runs FORTRAN II
23:41
CuriousMarc
Рет қаралды 1,2 МЛН
STM32 Guide #2: Registers + HAL (Blink example)
30:02
Mitch Davis
Рет қаралды 192 М.
STM32 Multi ADC DMA method
29:42
PR TechTalk
Рет қаралды 6 М.
WS2812 LED with STM32 || PWM using DMA
29:18
ControllersTech
Рет қаралды 50 М.
DMA on STM32 HAL with 2 example projects | VIDEO 36
1:03:17
Matej Blagšič
Рет қаралды 17 М.