
Explore configuring stm32 gpio through four 32-bit configuration registers, using idr and odr for input and output, and enable alternate functions, pull-ups, pull-downs, and speed settings.
Configure the gpio pins with the MODER register; each pin uses two bits, 00 for input, 01 for general-purpose output, 10 for alternate function, and 11 for additional options.
Explore writing to the stm32 gpio odr to drive an output pin, configuring bits 0–15 while keeping 16–31 reserved, and ensuring the mcu clock is enabled.
Explore how the RCC clock controller enables or disables peripheral clocks, including the GPS I/O, by writing to specific RCC registers to turn the clock on or off.
Configure ST-Link in Keil uVision 5 to upload code to a discovery board by selecting the ST-Link debugger in the project options, enabling hex output, and flashing the board.
Fix hardware register settings by correcting the MODER bit configuration, recompile and re-upload the code, then reset to verify the green LED confirms the program runs.
Create a new stm32 project to blink an led with a for loop delay, define a delay macro, toggle a gpio pin, and compile and flash to the discovery board.
Enable the GPIO clock for port zero, configure the user button as input, detect an active-high press, debounce, and drive the output, using CMSIS bare-metal.
Configure and use the SysTick timer to create delays on a Cortex-M microcontroller by setting the 24-bit countdown, enabling interrupts, and using the reload and priority settings.
Write the transmit character into the USART->DR data register to send data, and read the incoming byte from the same register to receive data, using its dual purpose.
Learn to implement usart tx and rx without interrupts by polling the receive and transmit flags, read data when ready, transmit to the serial terminal, and wait for transmission completion.
Transform string transmission on stm32 from character by character to a buffer driven by interrupts, implement a transmission complete interrupt, and validate with a live terminal monitor.
Learn about the STM32 ADC overview, a successive approximation ADC with up to 16 external channels across three ADCs, shared input, DMA support, and single conversion mode with thresholds.
Learn how to turn the adc on or off and manage power-down mode. Use the adca register and the software start flag to wake the adc and start conversions.
Configure the ADC in single mode by setting the ADC_SQR3 register for channel 10 as the first sequence, resetting sequence bits, and writing 10 to the conversion slot.
Review the ADC single conversion mode, disable continuous conversion by writing zero, trigger with SW start, wait for end of conversion, and read the ADC value from the data register.
In this lecture we demonstrated how to create a new project for stm32 microcontroller with built-in ARM tool-chain in Atollic TrueStudio.
Explore the ioc file in stm32 cube mx or stm32cubeide as a visual editor to initialize peripherals and gpio, configure pins and clocks, and generate code that updates main.c.
Navigate autogenerated stm32 code by placing custom code inside user code begin/end blocks, and learn system clock initialization and gpio init using the ioc file and hall library.
LED Blinking code with HAL GPIO toggling and HAL delay function
Mastering STM32 Microcontrollers: Learn Bare-Metal Programming and Overcome Boilerplate Code
Description: Are you intimidated by the boilerplate code generated by CubeMX or Standard Peripheral Library when learning STM32 microcontrollers? Do you come from an 8-bit microcontroller series background and struggle to navigate the complexities of STM32 families? Look no further than this course.
Designed and tested on STM32F4 Discovery board, this course's learning curve is equally applicable to other STM32 families. It focuses on the day-to-day tasks that embedded developers face and cuts through the complexity of STM32 families to teach you the skills you need.
With only a basic understanding of C programming and previous knowledge of Embedded Systems and Electronics, you can start this course. You'll learn how to use Keil UVision 5, which is perfect for programming from scratch or bare-metal programming. The skills you learn from this course can be applied to any STM32 compiler and duplicated on any CMSIS-supporting compiler.
You'll also gain valuable knowledge in finding desired peripherals and their registers from the reference manual and datasheet, allowing you to extend your knowledge and experience when needed. You can even use the registers in Attolic TrueStudio or STM32CUBEIDE.
By the end of this course, you'll be able to overcome the biggest barrier to learning STM32 microcontrollers and develop robust embedded systems from scratch. With the ability to navigate the complexities of STM32 families and program at the register level, you'll be able to quickly troubleshoot and fix problems or easily adopt new peripherals when needed.
In this course, you'll learn how to develop efficient drivers for GPIO, ADC, and USART with minimal code using CMSIS Core. You'll master bare-metal programming on STM32 microcontrollers and learn how to develop robust and reliable embedded systems. This course is ideal for anyone who wants to gain a deep understanding of the STM32 microcontroller architecture and develop highly optimized and efficient embedded systems.
Throughout this course, you'll work on a variety of hands-on projects, including blinking LEDs, reading analog sensors, and using interrupts to respond to external events. You'll learn how to leverage the power of the STM32 microcontroller to build complex embedded systems that can handle real-world tasks. You'll also learn how to optimize your code for performance and memory usage and how to debug and troubleshoot common issues.
This course is taught by an experienced embedded systems engineer who has worked with STM32 microcontrollers for several years. The instructor provides clear and concise explanations of complex topics and ensures that all concepts are explained in a way that is easy to understand. You'll also have access to a supportive community of like-minded learners who can help you with any questions or problems you encounter during the course. By the end of this course, you'll have a deep understanding of STM32 microcontrollers and the skills to develop efficient and reliable embedded systems.