Это видео недоступно.
Сожалеем об этом.
Starting with STM32 - Programming Tutorial for Beginners | Step by Step | Greidi Ajalik
HTML-код
- Опубликовано: 16 авг 2024
- For everyone who would like to learn how to start with STM32 programming. Thank you very much Greidi Ajalik
Links:
- Greidi's RUclips: • How To Become An Embed...
Chapters:
00:00 What is this video about
01:17 Starting a new project in STM32 CubeIDE
10:30 STM32 chip configuration - GPIO pins ( ioc file )
16:38 Clock configuration
22:12 Project tree and files explained
26:53 Controlling a GPIO in STM32
36:22 Delay function - HAL_Delay
40:04 ST-LINK upgrade
43:22 STLINK STM32 debugger / programmer
45:55 Building and running your code
49:20 STM32 interrupt code example + explanation
1:01:53 STM32 UART to PC example + explanation
------------------------------------------------------
Would you like to support me? It's simple:
- Sign up for online courses hosted on our platform: marketplace.fe...
- Sign up for my Hardware design and PCB Layout online courses: academy.fedeve...
- You can also support me through Patreon: / robertferanec
- Or sign up for my Udemy course: www.udemy.com/...
It is much appreciated. Thank you,
- Robert
When guests cover every little detail it’s really useful, everyone else just assumes that we already know the 42 mouse clicks they did to get from A to B
What a great video! It was pleasure to collaborate with you and thank you so much for having me on your channel!
Thank you very much Greidi for helping me with this video.
Thanks for participating. Very much appreciated!
I am working as an intern in one company and i was assigned task with stm32. Although even after going through documnetations i was unable to figure out the concepts. Then luckily i found this wonderful tutorial. It was very very useful and informative.
Thanks a lot @greidi Ajalik and @robert feranec for bringing out this video. I would like to tune up for more such videos related to stm32.
We need a second part for this! Hands down one of the best beginner tutorials out there. Thank you for the effort Robert!
This is one of the best tutorials I have ever seen, it is really simple and easy for beginners to understand it.
Robert is like that intelligent kid who knows it all and is just helping the teacher convey every piece of information to all the kids... This is an excellent video for explaining every step...
Thank You @Robert Feranec and @Greidi Ajalik for this beautiful video. 😇
For real, he knows all the necessary questions to make
An Interrup can to two things: cause software to execute via an interrupt handler (if the interrupt is enabled) and cause some peripheral to do something (like triggering a timer). An Event doesn't cause the interrupt handler to run, but can cause some peripheral to do something.
This is one of the best tutorials ever. Thank you so much for putting this together. Excellent starting point.
What a great tutorial for beginners!!! Thank again for your effort and your time!! Please upload more STM32 firmware-based tutorials explring maybe more peripherals or low-power design techniques (I liked the point mentioning the value of suspend and resume tick) :)
Compilers will optimize code generated and remove dead code from include files etc. So it's correct to include the string.h file. Only the call to strlen will be included, because that one is really called. Include files define prototype of functions, so the compiler can do type checking and thus detect programming errors at compile time.
The hardest part of STM32 programming is getting the STM32 you want
I'll never forget in 2019 when DigiKey had nearly every STM32 ic in stock by the thousands. It seemed so normal.
More like get any STM in these days ......
Have literally 850pcs with wrong order. İf you interested i can share it with you
@@thenextproblem8001 which one please ? (part number)
@@JosefKopal stm32l011k4
I applaud the questions from Robert. You asked several questions that I was wondering about. The presenter knows this stuff so well that he doesn't know what a novice doesn't know.
Honestly one of the best videos i've seen on STM32
You can use the built-in ST-Link for custom boards. The debug pins are available on header pins on the ST-Link of the Nucleo board. Here you need to disconnect the Nucleo MCU from the debugger.
The purpose for the cuts in the Nucleo PCB is actually breaking or cutting off the ST-Link part from the Nucleo, and keep using the ST-Link as stand-alone device.
That's invaluable advice! That was the only solution for me, when all cheap ST-Link copies failed.
wow neat
Dude, this is the only video that works. Thanks for posting!
Examples can be found in the repository - C:\Users\YourUserName\STM32Cube\Repository\STM32Cube_FW_G4_V1.4.0\Projects\NUCLEO-G431KB\Examples\GPIO\GPIO_IOToggle
Nice one, thank you!
Perfect content for learning the stm32. Thanks for the detailed explanations, we are waiting for second part !!
I think this is the best tutorial that I have seen in my life
Just a small correction, you can program another MCU using the ST-Link that's integrated in the Nucleo board, you just need to remove a couple of jumper shunts and you can connect your board via the SWD header.
To clarify, you're addressing the question that Robert asked at 43:15
Absolutely, I used the nucleo on-board st-link to program an smt32f334 on my custom pcb. Remove jumpers on nucleo and connect custom pcb via jumper cables.
This is a really deep step by step for beginners, I'd argue this is something you should watch only after you stumble through the blink LED and read pin projects.
I found it fine tbh
i am depressed i dont get 80% of what theyre talking about lmao im new i only did arduino starter projects in which the code was nowhere near as complicated
@@karm00n29same as you bro. Bro please can you share how to learn this stm32 as a beginner
@Robert you're a mind reader!
Very cool. I just bought an STM32H745 discovery board. I installed CubeIDE but the initial complexity of what you need to do next when you start is stopped me in my tracks. I understand the complexity because of all the different (hundreds?) of STM32 variants but it still leaves you with initial sticker shock.
Thanks guys! Part 2 anytime? It would be awesome!
*You can use the programmer part of a nucleo board to program other STMs on other boards (including your own custom one).* The SWD interface is available on pins and there are jumpers there as well to "disconnect" the main MCU. If you want you can even cut off the programmer part. There's a prerouted slot and only three small tabs connecting the two boards. Score them with a knife and break it apart.
Both parts will still work, but you'll obviously have to manage the connections to the programming interface of the main MCU yourself, as well as the rest like connection to power, the right UART pins, the external oscillator aso.
The original "ST links" are already exceptionally cheap for a programmer (props to ST for that). But you can have even cheaper ones (~3€) on your favorite ecommerce platform for cheap stuff ;) . I wouldn't start out with those, to avoid problems (though I never had any, but just to be safe). They even update through the same firmware flasher tool. But be aware that the more recent ones don't use an STM32F1 anymore but a GD32F1. That's a Chinese version of an STM32 with a few slight differences. So unless the firmware for the programmer hits one of these differences the GD32F1 should be fine.
The bootleg programmers from China are not working anymore with ST software - they detect the fake chips and won't let you use it properly.
The amount of respect i have for this guy
From today, after 10 year design hardware(AD13-AD22), i will start software for my DIY project. Thanks for video. ;)
Great video. Especially your humility with things you don't know about is outstanding and rare these days! Maybe some video on a modern RTOS like Zephyr OS as a follow-up?
This is absolutely amazing! Walk us through each step! Pls do more like this! Thanks
This is an excellent tutorial for learning about programming microcontrollers. Thanks you Robert!
very very helpful and comfortable to watch, it feels like we are with you in the conversation and it's making us concentrate a lot better :D thanks a lot
Thank you Guys, as a slow old duffer I really found this tutorial Very Useful.
The best channel about programming stm32 is NR.electronics.
@Robert Feranec: Do you intend to make a video explaining how to design drivers (sensors) I2C, SPI using STM32?
Thanx a lot, the tip at 40:42 to update ST-Link solved my Problem
The capacitor C15 and R30 are not for filtering a signal, they give time to clock system to start before the level of reset pin become high to start the microcontroller.
Great Video! Thanks for the good explanations and details :)
Your videos are always such a high quality resource of knowledge!
Amazing video, thank you!!! I am a beginner and i find this video really helpful!
I want to check embedded programming on ARM/STM32 starting with a Nucleo board. Whereever this journey will take me, should I develop on Windows or Mac with STM32CubeIDE? I’ve heared that the industry standard for developing on ARM is Windows most tools, drivers etc).
Wow, what good news this initiative .... excellent way to start and masterful introduction..god job 👌
Very helpful, thanks. Please consider have 2nd episode step by step instructions to use I2C ( or multiple I2Cs) on STM32.
like your videos and questions. cca 31:00 BTW ... examples are against workflow of STM32 IDE. Because code is generated mostly by setting in IOC.
happy to see some software stuff in your channel , thank you
Super! Waiting for UART receiving part.
Cool! very useful video for getting started with nucleo board. Thanks for making this video
Well done! This was very valuable for first time Cube IDE users (like me)
Thank you for the explanation. Really great video for beginners
Robert excelent video!!! Len tak dalej.
Dakujem
That was very useful Robert. thanks for that!
Second Part is needed !
Agreed
20:00 you can undo it inside the clock configuration window
Absolute perfect. I start with STM32 dome months ago, like transfer from pic32 platform. Will you create any tutorial about SAI or I2S and DSP? I’m interested of sound applications with using STM32H7 and DSP instructions.
thanks too much, like Matrix movie I have learned STM32 now.
waiting for more such video playlist.
thanks !
yes yes it is really useful thank you from Mongolia
I learn so many from you both great to see G
Useful. Thanks!
Great idea! You should make a whole course about this topic :)
Hey, can somebody help me i have a problem, i dont understand why hello World is not displayed on the screen. I have been following each step and all is good (STM32 is connected, code is good...) but on the console is nothing. Have somebody a solution ? Thanks :/
So helpful, thank you for your effort.
Very nice video, we need second part.
thanks for your guidance, very useful.
THANK YOU I needed this
It's perfect Tutorial. Thanks A lot.
Fantastic video. Thanks!
I will give you a bunch of thanks for this video
Robert was not learning, he was making sure Greidi isn't making a mistake or misleading the viewers the entire video XD
Hello, I am new to the world of STM32, do you recommend programming it from visual studio code, or better from cubeIDE?
Thanks for the great content !
Hi dear. I’d love you to give the manner or advice so that I can understand STM32 because when I see a code HAL I panicked suddenly. Best regards 😢
How to connect LED and relay operation with STM ?
Thanks for the course. However, I wonder if I can use the STM32 Cube IDE environment as exactly real life does for the blinking led first example as a simulation.
good work king, love you
LIN Bus tutorial would ne nice!
I've got the F746G and I am struggling to find which pin I should activate for the led, anyone can help?
I'm not a professional programmer or anything but I did learn a big thing about libraries. I didn't know if it's included, the whole thing is added. I thought the IDE was smart enough to only compile what was used in the library.
So does this mean if you wanted to use just strlng() from string.h....you'd have to copy that string.h library as your own and delete everything that's not needed to save on program size?
It worked. Thanks a lot
After Project explorer my ioc file will not be able to see in the leftside window. Please let me know
Another great tutorial😍😍, I just don't understand how the LED turned off when using interrupt coz there wasn't any code line as i saw, can someone tell me how.
sometimes issue comes in st board and we dont know reasons why this happened.
Could you guys do a tutorial for simulating stm32 processors in Proteus? I am new to this type of development and simulating is cheaper and more practical than buying and testing
Best Author
i cant find the STM32F407VET6 development board in the STM32CubeIDE
what can i do?
Is there a way to add it?
do you have plans to take the stm32mp157 course in schematic and pcb?
sir, why they give double underscore what is the significance of that
Which cable is to be used for connecting with PC?
Hello guys, im having a trouble with stm32cubeide, basicall when i try to open a new project its says "Code generation could not be done most probably because the necessary firmware package is missing. Not able to complete STM32Cube project creation. See Firmware Updater for settings related to firmware package installation Tips: Please use the Device Configuration Tool, and then use 'Project > Generate Code' to complete the project generation." any helps?
Is there any processor (instruction) simulator for STM32 MCUs on CubeIDE?
Question: all this hall/cmsiss setup config is alteady multitheading?
24:11 can someone explain how uint8_t hello = "Hello"; works? How can Hello be stored in 8 bits?
Maybe the 8 bits point to the array's starting address?
@@uncommonsensor yeah that makes sense. I am not used in programming like that. I would declare it as a string. Is there any difference? Which is better?
@@arisk4 Well I'm more familiar with C++, but it does use C strings, which are just arrays of bytes terminated by a 0. Also, arrays typically just point to a location in memory, and then depending on what type of array it is, it will know how to access each element in the array depending on the size of its type, and it's index.
I'm not sure if that is what is going on here, but it was just an assumption. Maybe the
marks the end of the array somehow
Too bad that the stm32s are pretty much still unobtainable
Very Useful....
Is it just me or does developing STM32 applications seem extremely convoluted? I feel like the HAL concept is, in principle, a nice idea, however, feels "bloated". One sure thing is that the learning curve for STM32 applications is steep AF. :(
Too bad most STM32s are unavailable on the market since more than a year now. It's a bad idea to start any new designs with them. But their documentation, software support and low prices for programming tools made them very attractive and easy to start with.
It's a problem for other micros as well, but you're right, STM chips seem to be totally unavailable since about mid-2021.
That my-friend is the body of the circuits.
very usefull video!
Is it possible to start this tutorial if I don't have the hardware(stm32 board)? That thing is not available in my country, aliexpress will require around 30 days for shipping
I followed the steps but I don't see no output in the serial monitor
Robert the legend
Cool, thx
i love it !
Next tutorial: Where to buy some ;)
Yes that’s holding me back from investing time into this chip. ESP32 has it’s disadvantages, but no shortages.
I would really like to know this too :) :)