
Explore how uart enables serial communication between STM32 devices, configure baud rate, frame format, start/stop/parity bits, and manage tx/rx streams.
Explore the SPI serial interface, including chip select, MOSI, MISO, and clock, master-slave roles, full and half duplex, data width, and STM32 register setup.
Configure STM32 as an I-squared-c master by setting GPIO and control registers for standard mode at 100 kHz using a 16 MHz APB clock. Implement start, address, data, and stop.
Explore STM32 ADC fundamentals, including 12-bit resolution with a 3.3 V reference, sampling and conversion timing, continuous mode operation, and reading analog signals via regular channels with end-of-conversion interrupts.
Program the STM32 to read adc values from a potentiometer input by configuring adc1 channel 1 on PA1, using timer five as a trigger, and setting 12-bit resolution.
Program the STM32 DAC to brighten and dim an LED by updating a 12-bit DAC output with a software trigger, using timer 3 and PA4.
*Before enrolling, carefully read the description*
This is the second part of the embedded course, which was created mostly for students, but also for people wishing to start their career on this path to gain general knowledge of embedded systems.
When starting with embedded systems, from my experience and the experience of others, the problem is that there are many unclarities when it comes to reading the documentation and schematics, and later on combining it with programming at the beginning of their studies or research.
This course was made exactly to bridge those gaps and give them insight how simple it is to achieve many functionalities, all by going step-by-step through the reference manual, schematics and programming the device. During the course, all the concepts will be graphically explained. I think that visual learning is the best way of learning.
Because this field is such that just by talking you can't reach lot, so you must show some results, at the end of every important step, an experiment will be conducted to show the proof. This can also help students or employee beginners with their projects. The device that was used in this course is the STM32F407VG discovery board.
The only libraries and instructions that are used in this course, are the ones that can be used on any other C compiler. Everything else is self-made. The course content is kept minimalistic.
During the course you'll learn about:
- Universal Asynchronous Receiver-Transmitter (UART)
- Serial Peripheral Interface (SPI)
- Inter-Integrated Circuit (I2C)
- Analogue-to-Digital Converter (ADC)
- Digital-to-Analogue Converter (DAC)
I'm open to feedback on:
- what was explained well?
- what wasn't?
- where to put more emphasis on?
- is something missing?
- what would you like to see but was not covered? (it can also be something unrelated to the given topics)
The feedback is optional, it's supposed to be less about me, but more about others.
Those who decide to share their opinion, I would ask for constructive feedback, because that way I can consider it and make new courses better and more understandable for future viewers.
For the first 30-days I'm open to answering all questions regarding the course