Micro Controller (STM) Training in Lahore

STM Micro Controller
STM Micro Controller

STM Controller /course /outline

          Burraq Engineering Solutions is providing training and services of micropower charge controller (STM) by proficient and experienced instructors. In our training sessions of the STM course students will get hands-on training of pinout configuration, Clock Configuration, Issues with STM32 Blue pill board,   Introduction to Arduino IDE,    Installing STM library to IDE. You can also get Physical and online training of all Automation courses by the Technical Training Institute. We also introduce an advanced mode of learning (Lyskills) where students can get online video training at a very cheap price

        Fee: 15,000/-

        Duration:   4 Weeks

         Course Outline

       1.      Introduction to STM 32 controllers

        2.       Pinout Configuration

        3.       Clock Configuration

        4.       GPIO Configuration

        5.       Issues with STM32 Blue Pill Board

        6.       Configure project and generate source code

        7.       Boot pins and how to use them

        8.       Connecting STM controller with PC

        9.       Introduction to FTDI board and its functionality

        10.   FTDI board pin configuration

       11.   Connecting FTDI with STM

        12.   Intro to Arduino IDE

       13.   Configuring Arduino IDE to Program STM32F103C8T6 Blue Pill

       14.   Installing STM library to IDE

       15.   Adding STM board to IDE

       16.   INTRODUCTION TO STM32CubeProgrammer

       17.   Download and install the CUBE programmer

       18.   Build the Project

      19.   Debug the Project

       20.   Declaring GPIO pins  in IDE

       21.   Writing and uploading code in STM

        22.   Blinking the LED

        23.   Interfacing temperature sensor with STM

        24.   Measuring temperature with STM

        25.   Configure 61X2 LCD with STM32

       26.   Intro to PWM

        27.   Generating PWM with STM

        28.   Controlling servo motor with STM32

        29.   Interfacing HC-05 Bluetooth with STM32 Blue Pill

        30.   To use ADC in STM32F103C8T6

        31.   ADC in STM32 Blue Pill

        32.   Interfacing DHT11 Humidity and Temperature Sensor with STM32F103C8T4

Micro Controller (STM)

The STM32 family of 32-bit flash microcontrollers, based on the Arm® Cortex®-M processor, offers microcontroller users unimagined freedom. STM32 is a microcontroller family from ST with a 32-bit ARM Cortex-M0 / M3 / M4 CPU. This architecture has been specially developed for use in microcontrollers and thus largely replaces the previous ARM7-based controllers. The STM32 is available from ST in countless versions with variable peripherals and different housing sizes and shapes. Due to the small chip area of ​​the core, ST is able to offer a 32-bit CPU for less than € 1.The STM32 family offers products that combine very high performance, real-time capability, digital signal processing and low-power, low-voltage operation and connectivity, while ensuring full integration and ease of development.

Working with the STM32

First of all, the differences between the individual processors are not SOOO big. All have inputs / outputs and in order to be able to control an LED by means of a port pin, the pin must first be parameterized for each processor, regardless of whether it is an STM32 or an AVR or an MSP430 . But with an STM32 you have a few more functions, e.g. switchable pull-up or pull-down resistor and special set / reset registers that other processors do not have, but simplify programming. The main difference to the other processors is that the STM32 houses so many peripheral modules that you always have to activate them individually with a clock, because this saves a lot of electricity.

And let’s be honest, the discussion about which µc is easier to configure is absolute nonsense. The way is always the same:

  • Look at the data sheet to see which registers are required for this function.
  • Determine the values   that are entered in the registers.
  • Write values   into the register. It made NO DIFFERENCE whether it was an AVR , 8051/2, ARM , 

It’s true, there are differences. The registers have different names, different addresses, different bit meanings, … But everything is in the data sheet. And whether I have an AVR or an ARM in front of me for the first time. I need the steps outlined above in all cases.

The interrupt system is also prioritized with an STM32 . This can be used to determine which interrupt is processed with priority. The prioritization is also not rocket science.

The respective manufacturers supply extensive demo codes and libraries for all processors. Most of them are all written in C, so the C programming language should also be used. Especially if you are pursuing professional intentions.

And if you can use an STM32 , then switching to an LPC1xxx (NXP) or another manufacturer is no problem at all (*), because they also offer processors with a Cortex-M3 core and you can program them with the same programming environment. This means that you are not necessarily dependent on the manufacturer. (* each manufacturer installs its own peripherals, which have different functionalities.)

As a hobby hobbyist and professionally, almost all applications can be implemented with an STM32 . It has enough RAM and FLASH memory and also enough speed. Many housing variants to create small to larger devices. Many interfaces are described in the article STM32 .

It must be added that these are mostly based on the standard ST-Libs. On the one hand, these libs simplify the control / use of the peripheral functions, and on the other hand you have to get to know them first. This is simplified because ALL ST demo code examples are also based on these Lib’s and thus the change within the STM32 is significantly simplified.

STM32F4xx Library from ST

“STSW-STM32065 STM32F4 DSP and standard peripherals library” including documentation and demo projects for all CPU functions.

STM32 families

So far there are eleven STM32 families:
  • STM32F0
  • STM32F1
  • STM32F2
  • STM32F3
  • STM32F4
  • STM32F7
  • STM32H7
  • STM32L0
  • STM32L1
  • STM32L4
  • STM32G0
  • STM32G4
  • STM32WB
  • STM32T – no longer in production
  • STM32W – no longer in production

Programming languages

As with many other controllers, the STM32 mainly uses C and C ++. But also Pascal or Basic is possible without any problems (e.g. from mikroe) You should already know the programming language C, if you have no idea about it then you should first write a console program using a tutorial on a PC so that you get to know it to some extent. There are also articles here in the forum. If the aim is (later) application in industry, C (or C ++) should definitely be chosen due to its widespread use; most of the available libraries are also written in C.
Assembler should only be understood roughly, details of how an instruction works is unimportant. Even if you want to know the cycles for a function call, the STM32 (Cortex-M3) offers a cycle counter that can be read out; However, due to the more complex pipeline and cache effects, the runtimes cannot be precisely foreseen. If cycle-precise timing is required, timers should be used – the STM32 has enough of that.
The 32-bit address space, which can address RAM, Flash, I / O registers in a standardized way (in contrast to AVR, for example ) is ideal for use by high-level languages; In the case of pointers, there is no need to manage additional information about the type of memory in which they point. The address clearly states this (there is only one address 42, and not 2 as for example with the AVR (Flash, RAM & I / O)) and the hardware automatically addresses the correct memory. The options for offset addressing, the barrel shifter, division unit, the FPU (with STM32F4), interrupt model, etc. also favor the generation of more efficient codes. In addition, the STM32 simply have more “raw performance”, ie more Flash / RAM memory and higher clock frequencies.

Online internship of PLC & Electrical Panel Starts from 25 January
This is default text for notification bar